Spring Boot 是一個基于 Spring 框架的開源項目,它簡化了 Spring 應用程序的創建和部署過程。以下是一些在 Spring Boot 中常用的注解:
@SpringBootApplication:這是一個組合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 三個注解。它用于標識一個類作為 Spring Boot 應用程序的入口類。
@Configuration:表示一個類作為配置類,可以使用 Java 代碼替代 XML 配置文件。
@EnableAutoConfiguration:告訴 Spring Boot 根據項目中的依賴自動配置 Spring 環境。
@ComponentScan:指定 Spring 掃描哪些包路徑下的組件,默認掃描當前包及其子包。
@RestController:表示一個類作為 RESTful Web 服務的控制器,結合 @RequestMapping 注解來處理 HTTP 請求。
@Service:表示一個類作為服務層的組件,通常用于實現業務邏輯。
@Repository:表示一個類作為數據訪問層的組件,通常用于實現數據庫操作。
@Component:表示一個類普通的 Spring 組件,可以被 Spring 容器管理。
@Autowired:用于自動裝配 Bean,可以用在變量、方法和構造函數上。
@Qualifier:用于指定需要注入的 Bean 的名稱,通常與 @Autowired 一起使用。
@ConfigurationProperties:用于將配置文件中的屬性值綁定到一個 Java 對象上。
@Value:用于將配置文件中的屬性值注入到變量中。
@RequestMapping:用于映射 HTTP 請求到特定的處理方法。
@GetMapping:用于映射 HTTP GET 請求到特定的處理方法。
@PostMapping:用于映射 HTTP POST 請求到特定的處理方法。
@PutMapping:用于映射 HTTP PUT 請求到特定的處理方法。
@DeleteMapping:用于映射 HTTP DELETE 請求到特定的處理方法。
@PathVariable:用于從 URL 中提取參數并傳遞給方法參數。
@RequestParam:用于從 HTTP 請求中提取查詢參數并傳遞給方法參數。
@RequestBody:用于將 HTTP 請求體中的 JSON 字符串轉換為 Java 對象。
@ResponseBody:用于將方法返回值轉換為 JSON 字符串并寫入 HTTP 響應體。
@ControllerAdvice:表示一個全局的異常處理類,可以處理所有控制器拋出的異常。
@ExceptionHandler:用于處理特定類型的異常。
@Bean:用于在配置類中聲明一個 Bean,可以被 Spring 容器管理。
@ConditionalOnProperty:用于根據配置文件中的屬性值決定是否創建 Bean。
@ConditionalOnClass:用于根據類路徑中是否存在某個類來決定是否創建 Bean。
@ConditionalOnMissingBean:用于在容器中不存在某個 Bean 時創建該 Bean。
@ConditionalOnExpression:用于根據 SpEL 表達式的結果決定是否創建 Bean。
@EnableScheduling:啟用 Spring 定時任務功能。
@Scheduled:用于標識一個方法作為定時任務。
以上只是 Spring Boot 中常用的一部分注解,實際上還有很多其他注解可以使用。在實際開發中,根據需求選擇合適的注解來簡化代碼和提高開發效率。