wordpress 全景插件軟件排名優(yōu)化
文章目錄
- 1. 組件注解
- 2. 依賴注入注解
- 3. 配置類注解
- 4. 測(cè)試注解
- 5. 控制器注解
- 6. 安全和認(rèn)證注解
- 7. 切面相關(guān)注解
- 8. API文檔相關(guān)注解(需引入swagger)
- 9. 其他注解
在Spring Boot框架中,有許多常用的注解用來(lái)簡(jiǎn)化開(kāi)發(fā)過(guò)程中的依賴注入、組件掃描、配置、安全控制等方面的工作。這些注解可以大致分為幾類:
1. 組件注解
這些注解主要用于標(biāo)記類或接口,表明它們是Spring容器中的組件,并可以進(jìn)行自動(dòng)裝配。
- @Component:
通用組件注解
,可以用于任何非特殊類型的Java類。 - @Repository:用于數(shù)據(jù)訪問(wèn)層(DAO層)的組件。
- @Service:用于業(yè)務(wù)邏輯層的組件。
- @Controller:用于Web層的控制器組件。
- @RestController:結(jié)合了@Controller和@ResponseBody的功能,用于直接返回JSON數(shù)據(jù)的控制器。
- @ControllerAdvice:控制器切面標(biāo)注。
2. 依賴注入注解
這些注解主要用于在類內(nèi)部聲明依賴關(guān)系,并由Spring框架負(fù)責(zé)實(shí)例化和注入。
- @Autowired:自動(dòng)裝配bean,可以用于字段、構(gòu)造函數(shù)、setter方法或任意方法。
- @Qualifier:與@Autowired一起使用,用于消除模糊性,指定具體要注入的bean名稱。
- @Resource:基于JNDI的查找服務(wù),可以通過(guò)name或lookup-name來(lái)裝配bean,也可以通過(guò)shared屬性控制是否共享。
- @Inject:JSR-330標(biāo)準(zhǔn)注解,用于依賴注入。
- @Bean:用于在配置類中創(chuàng)建Spring容器管理的bean。
3. 配置類注解
這些注解用于聲明配置類或開(kāi)啟某些特定功能的支持。
- @Configuration:聲明一個(gè)配置類,可以包含@Bean方法。
- @EnableAutoConfiguration:開(kāi)啟自動(dòng)配置,是Spring Boot自動(dòng)配置的核心注解。
- @Import:導(dǎo)入一個(gè)或多個(gè)配置類。
- @PropertySource:從
指定資源
加載屬性值。
4. 測(cè)試注解
這些注解主要用于簡(jiǎn)化Spring Boot應(yīng)用的單元測(cè)試或集成測(cè)試。
- @RunWith(SpringRunner.class):與JUnit結(jié)合使用,用于啟動(dòng)Spring容器。
- @SpringBootTest:用于創(chuàng)建整個(gè)Spring應(yīng)用上下文,適用于集成測(cè)試。
- @WebMvcTest:用于測(cè)試Web層,只會(huì)加載Spring MVC相關(guān)組件。
- @DataJpaTest:用于測(cè)試JPA相關(guān)代碼。
5. 控制器注解
這些注解主要用于Web層的請(qǐng)求處理。
- @RequestMapping:標(biāo)記類或方法,處理特定的HTTP請(qǐng)求。
- @GetMapping:處理HTTP GET請(qǐng)求。
- @PostMapping:處理HTTP POST請(qǐng)求。
- @PutMapping:處理HTTP PUT請(qǐng)求。
- @DeleteMapping:處理HTTP DELETE請(qǐng)求。
- @PatchMapping:處理HTTP PATCH請(qǐng)求。
- @ResponseBody:用于將方法的返回值直接寫(xiě)入HTTP響應(yīng)體中。
- @RequestBody:用于將HTTP請(qǐng)求體中的內(nèi)容綁定到方法參數(shù)上。
- @Validated:用于請(qǐng)求的數(shù)據(jù)對(duì)象的校驗(yàn)。
- @PathVariable:用于請(qǐng)求URI上的參數(shù)綁定。
6. 安全和認(rèn)證注解
這些注解用于處理安全性和用戶認(rèn)證。
- @Secured:用于限制只有擁有特定權(quán)限的用戶才能訪問(wèn)的方法或類。
- @PreAuthorize 和 @PostAuthorize:基于SpEL表達(dá)式來(lái)授權(quán)。
7. 切面相關(guān)注解
- @EnableAspectJAutoProxy:啟用AspectJ自動(dòng)代理功能。通常放在主配置類或啟動(dòng)類上。
- @Aspect:標(biāo)記一個(gè)類為切面類,其中可以包含多個(gè)通知(Advice)。
- @Pointcut:定義一個(gè)切入點(diǎn)表達(dá)式,用于匹配目標(biāo)對(duì)象中的連接點(diǎn)(Joinpoint)。
- @Before:聲明前置通知。
- @After:聲明后置通知。
- @AfterReturning:聲明返回后通知。
- @AfterThrowing:聲明異常后通知。
- @Around:聲明環(huán)繞通知。
8. API文檔相關(guān)注解(需引入swagger)
- @ApiModel:聲明實(shí)體對(duì)象類。
- @ApiModelProperty:聲明對(duì)象屬性。
- @Api:聲明一個(gè)接口類。
- @ApiOperation:聲明一個(gè)具體接口。
- @ApiParam:聲明接口參數(shù)屬性。
9. 其他注解
還有一些注解用于特定的功能或場(chǎng)景:
- @Profile:用于指定配置文件,可以激活特定環(huán)境下的配置。
- @Cacheable、@CachePut 和 @CacheEvict:用于與Spring Cache集成,實(shí)現(xiàn)緩存功能。
- @Async:用于聲明異步方法。
- @Scheduled:用于定時(shí)任務(wù)。
- @ExceptionHandler:聲明一個(gè)全局異常處理方法(方法需聲明在帶有@ControllerAdvice注解的類當(dāng)中)。
- @ResponseStatus:聲明異常返回http編碼(方法需聲明在帶有@ControllerAdvice注解的類當(dāng)中)。
以上列舉的只是部分常用注解,實(shí)際上Spring Boot框架中有更多的注解可供使用。這些注解共同作用于Spring Boot應(yīng)用中,使得開(kāi)發(fā)變得更加高效和便捷。后續(xù)還會(huì)繼續(xù)補(bǔ)充…