Spring Boot啟動加載
- @SpringBootApplication
- spring boot 啟動注解
- 包含了@SpringBootConfiguration;@EnableAutoConfiguration;
@ComponentScan三個注解.
- @ComponentScan
- 掃描的路徑從中找出標識了需要裝配的類自動裝配到spring的bean容器中
- @SpringBootConfiguration
- -繼承自@Configuration聂使,二者功能也一致窒升,標注當前類是配置類豹缀,
并會將當前類內(nèi)聲明的一個或多個以@Bean注解標記的方法的實例納入到spring容器中,并且實例名就是方法名触幼。
- -繼承自@Configuration聂使,二者功能也一致窒升,標注當前類是配置類豹缀,
- @EnableAutoConfiguration
- -啟用Spring的自動加載配置
- @ServletComponentScan
- -Servlet可以直接通過@WebServlet注解自動注冊
- Filter可以直接通過@WebFilter注解自動注冊
- Listener可以直接通過@WebListener 注解自動注冊
Controller層注解
- @Controller
- 返回指定的頁面.
- 返回對象是ModelAndView + 模板引擎,可以渲染頁面.
- 在方法上加上@ResponseBody返回josn對象.
- @RestController
- 等于@Controller + @ResponseBody,返回的是json對象.
- @RequestMapping
- -指定訪問的URL路徑.
- @GetMapping
- -指定Get請求的URL路徑.
- @PostMapping
- -指定Post請求的URL路徑.
- @PutMapping
- -指定Put請求的URL路徑.
- @DeleteMapping
- -指定Delete請求的URL路徑.
- @RequestParam
- -普通風格下接收請求頭參數(shù)(例:@GetMapping(/tset) ; 127.0.0.1:8080/test?id=1 ).
- value : 參數(shù)的名稱.
- required : 是否必須傳參.
- defaultValue : 默認參數(shù).
- @PathVariable
- -Restfil風格下接收請求頭參數(shù)(例:@GetMapping(/tset/{id}) ; 127.0.0.1:8080/test/1 ).
- @ResponseBody
- -返回json對象.
- @ResponseBody
- -接收一個json對象.
- @Crossorigin
- -解決跨域.
- @Valid
- -配合@NotNull使用,在接受對象的某個字段上加上@NotNull,在接受參數(shù)時加上@Valid,那么這個對象中的這個字段不能為空.
- @Null 被注釋的元素必須為null
- @AssertTrue 被注釋的元素必須為true
- @AssertFalse 被注釋的元素必須為false
- @Min(value) 被注釋的元素必須是一個數(shù)字,其值必須大于等于指定的最小值
- @Max(value) 被注釋的元素必須是一個數(shù)字春塌,其值必須小于等于指定的最大值
- @DecimalMin(value) 被注釋的元素必須是一個數(shù)字儡毕,其值必須大于等于指定的最小值
- @DecimalMax(value) 被注釋的元素必須是一個數(shù)字,其值必須小于等于指定的最大值
- @Size(max,min) 被注釋的元素的大小必須在指定的范圍內(nèi)划滋。
- @Digits(integer,fraction) 被注釋的元素必須是一個數(shù)字饵筑,其值必須在可接受的范圍內(nèi)
- @Past 被注釋的元素必須是一個過去的日期
- @Future 被注釋的元素必須是一個將來的日期
- @Pattern(value) 被注釋的元素必須符合指定的正則表達式。
- @Email 被注釋的元素必須是電子郵件地址
- @Length 被注釋的字符串的大小必須在指定的范圍內(nèi)
- @NotEmpty 被注釋的字符串必須非空
- @Range 被注釋的元素必須在合適的范圍內(nèi)
業(yè)務(wù)層,注入IOC容器注解
- @Configuration
- -聲明當前類是一個配置類处坪,相當于一個spring配置的xml文件
- @Bean
- -bean注冊(一般用在方法上).
- @Service
- -bean注冊,一般都是service層使用.
- @Component
- --bean注冊,用于普通的bean注冊.
- @Repository
- -bean注冊,用于dao層(需要在Spring中配置掃描地址根资,然后生成Dao層的Bean才能被注入到Service層中).
- @Mapper
- -bean注冊,用于dao層(不需要配置掃描地址架专,通過xml里面的namespace里面的接口地址,生成了Bean后注入到Service層中).
- @Transactional
- -事務(wù)管理注解.
- @Aspect
- -面向切面編程注解玄帕,Spring AOP 中用來自定義切面
- @Before
- -方法前執(zhí)行
- @After
- -方法后執(zhí)行
- @Around
- -環(huán)繞執(zhí)行
- @Scheduled
- -執(zhí)行計劃
去IOC獲取注解
- @Autowired
- -獲取bean,接口單一實現(xiàn)的時候使用
- @Resource
- -獲取bean,接口多實現(xiàn)的時候使用,指定具體實現(xiàn)類
- @Autowired + @Qualifier
- -獲取bean,等于@Resource
- @Values
- 讀取配置文件參數(shù)
緩存
- @Cacheable
- -最常用的一個,若緩存中沒有對應(yīng)鍵,則執(zhí)行方法,并把返回值放入緩存,如果有則從緩存中取,不執(zhí)行方法
- @CacheEvict
- -刪除緩存
- @CachePut
- -修改緩存
- @Caching
- -同時使用上面多個的時候使用
- @CacheConfig
- -放在類上統(tǒng)一類中的其它緩存注解,如下相當于在這個類中的其它所有緩存注解都被默認加上了cacheNames = "",cacheManager = ""
MyBatis常用注解
- @Select
- -查詢
- @Update
- -修改
- @Insert
- -新增
- @Delete
- -刪除
- @TableName
- -實體對應(yīng)數(shù)據(jù)庫表名稱
- @TableId
- -主鍵注解
- @TableField
- -實體中字段對應(yīng)數(shù)據(jù)庫字段
- @EnumValue
- -通枚舉類注解(注解在枚舉字段上)
- @TableLogic
- -表字段邏輯處理注解(邏輯刪除)
- @SqlParser
- -租戶注解
- @CacheNamespace
- -開啟mybatis二級緩存
- @Options(useCache=true,flushCache=Options.FlushCachePolicy.FALSE,timeout=10000)查詢時
- -useCache=true部脚,表示會緩存本次查詢結(jié)果
- flushCache=Options.FlushCachePolicy.FALSE,表示查詢時不會刷新緩存;
- timeout=10000裤纹,表示查詢結(jié)果緩存10000秒委刘;
- @Options(useGeneratedKeys=true, keyProperty="Id", keyColumn="id")新增時
- -插入一條數(shù)據(jù)并返回主鍵值
Dubbo常用注解
- @Service
- -表示提供者
- @Reference
- -表示消費者
- @EnableDubbo
- -啟用Dubbo整合配置
Spring Cloud常用注解
- @EnableEurekaServer
- -把當前微服務(wù)標記為Eureka注冊中心 接收其他微服務(wù)的注冊
- @EnableEurekaClient
- -注冊該微服務(wù)到Eureka中
- @LoadBalanced
- -該注解寫在配置RestTemplate的配置類方法上來啟動ribbon負載均衡
- @EnableFeignClients
- -寫在主程序上來支持feign
- @EnableCircuitBreaker
- -啟用對Hystrix熔斷機制的支持
- @FeignClient(value="服務(wù)名",fallbackFactory=實現(xiàn)FallbackFactory的類.class)
- -實現(xiàn)服務(wù)降級
- @EnableHystrixDashboard
- -加在主程序上啟動服務(wù)監(jiān)控
- @FeignClient(value=“服務(wù)名”)
- -寫在接口上 來調(diào)用遠程服務(wù)
- @EnableZuulProxy
- -寫在主程序上啟動zuul路由訪問功能