目錄
- 1.核心注解:
- 2.配置相關注解:
- 3.控制器相關注解:
- 4.數據訪問相關注解:
- 5.測試相關注解:
- 6.條件注解:
- 7.AOP相關注解:
- 8.定時任務相關注解:
- 9.消息隊列相關注解:
- 10.Spring Security相關注解:
- 11.Swagger注解(用于API文檔生成):
- 12.Spring緩存相關注解:
- 13.Spring定時任務相關注解:
- 14.Spring Cloud相關注解(用于微服務開發):
1.核心注解:
@SpringBootApplication:一個復合注解,用于標識Spring Boot應用程序的入口點。它組合了@Configuration、@EnableAutoConfiguration和@ComponentScan注解,提供了自動配置和組件掃描的功能。
@Configuration:將類標識為配置類,類似于傳統的XML配置文件,用于定義Bean的創建和配置。
@EnableAutoConfiguration:啟用Spring Boot的自動配置機制,根據類路徑和其他條件自動配置Spring應用程序。
@ComponentScan:掃描指定包及其子包下的組件(包括@Service、@Repository、@Component和@Controller等)。
2.配置相關注解:
@Value:用于將外部屬性值注入到Spring Bean中。
@ConfigurationProperties:綁定外部配置文件中的屬性到Java Bean。
@PropertySource:指定外部屬性文件的位置。
@Conditional:根據條件動態添加或排除Bean的裝配。
3.控制器相關注解:
@RestController:組合注解,用于標識控制器類,并將其方法的返回值直接作為HTTP響應體返回。
@RequestMapping:將HTTP請求映射到處理方法上。
@GetMapping、@PostMapping等:用于簡化常見的HTTP請求方法的映射。
@RequestParam:用于獲取請求參數的值。
@PathVariable:用于獲取URL路徑變量的值。
@RequestBody:將請求體轉換為Java對象。
@ResponseBody:將方法返回的對象轉換為HTTP響應體。
4.數據訪問相關注解:
@Entity:標識一個類作為實體類,在數據庫中映射為表。
@Repository:標識一個類作為數據訪問對象(DAO)。
@Autowired:自動裝配依賴的Bean。
@Transactional:標識一個方法需要在事務中執行。
@Query:定義自定義的查詢方法。
5.測試相關注解:
@RunWith:指定測試運行器。
@SpringBootTest:用于加載Spring應用程序的上下文,并提供測試支持。
@MockBean:模擬Bean,用于替代真實的Bean進行測試。
這些注解涵蓋了Spring Boot應用程序開發的核心方面,通過合理使用這些注解,可以快速搭建和配置Spring Boot應用程序,并實現各種功能。
6.條件注解:
@ConditionalOnClass:當類路徑中存在指定的類時才生效。
@ConditionalOnBean:當容器中存在指定的Bean時才生效。
@ConditionalOnProperty:當配置文件中指定的屬性滿足條件時才生效。
@ConditionalOnMissingBean:當容器中不存在指定的Bean時才生效。
7.AOP相關注解:
@Aspect:將一個類標識為切面。
@Pointcut:定義切點,即需要被攔截的方法。
@Before:在方法執行之前進行攔截。
@After:在方法執行之后進行攔截。
@Around:在方法執行前后進行攔截。
8.定時任務相關注解:
@Scheduled:定義定時任務的執行規則。
異步編程相關注解:
@Async:將方法標記為異步執行。
緩存相關注解:
@EnableCaching:啟用緩存功能。
@Cacheable:標記方法的結果可被緩存。
這些注解可以根據具體的需求和場景選擇使用,用于實現更多的功能和擴展。需要注意的是,在使用注解時要理解其作用和正確使用方式,以避免錯誤和不必要的麻煩。
9.消息隊列相關注解:
@EnableJms:啟用JMS消息隊列功能。
@JmsListener:標識一個方法作為JMS消息監聽器。
WebFlux相關注解(用于響應式編程):
@RestController:組合注解,用于標識控制器類,并將其方法的返回值直接作為HTTP響應體返回。
@RequestMapping:將HTTP請求映射到處理方法上。
@GetMapping、@PostMapping等:用于簡化常見的HTTP請求方法的映射。
@PathVariable:用于獲取URL路徑變量的值。
@RequestBody:將請求體轉換為Java對象。
@ResponseBody:將方法返回的對象轉換為HTTP響應體。
10.Spring Security相關注解:
@EnableWebSecurity:啟用Web安全性配置。
@Secured:限制方法的訪問權限。
@PreAuthorize:在方法執行之前進行權限檢查。
@PostAuthorize:在方法執行之后進行權限檢查。
11.Swagger注解(用于API文檔生成):
@Api:用于標識Controller類,生成對應API文檔。
@ApiOperation:用于標識Controller類中的方法,生成對應API操作的文檔。
@ApiParam:用于標識Controller方法中的參數,生成對應API參數的文檔。
12.Spring緩存相關注解:
@EnableCaching:啟用Spring緩存功能。
@Cacheable:標識方法的結果應該被緩存。
@CachePut:標識方法的結果應該被放入緩存。
@CacheEvict:標識方法執行后應該移除緩存中的數據。
13.Spring定時任務相關注解:
@EnableScheduling:啟用Spring定時任務功能。
@Scheduled:標識方法為定時任務,并設置觸發時間規則。
Spring國際化相關注解:
@EnableMessageSource:啟用國際化消息資源配置。
@ConfigurationProperties:用于將屬性綁定到配置類中。
Spring WebSocket相關注解:
@EnableWebSocket:啟用Spring WebSocket功能。
@Controller:標識類為WebSocket控制器。
@MessageMapping:標記方法用于處理特定消息類型。
14.Spring Cloud相關注解(用于微服務開發):
@EnableDiscoveryClient:啟用服務注冊和發現功能。
@EnableFeignClients:啟用Feign客戶端功能。
@EnableCircuitBreaker:啟用熔斷器功能。
@EnableConfigServer:啟用配置中心功能。
這些注解涵蓋了不同領域的功能和特性,可以根據具體的需求選擇和使用。
Spring框架提供了豐富的注解,可以更高效地進行開發、配置和集成各種功能