java springboot 註解

matengfei發表於2024-11-26

常見註解類別及原因

a) 核心配置類註解

  • @SpringBootApplication

    • 用於標記啟動類,包含了核心配置。
    • 原因:減少啟動配置程式碼,將多個註解合併為一個。
  • @Configuration

    • 標記一個類為配置類,類似於傳統的 XML 配置檔案。
    • 原因:更現代化和型別安全的配置方式。
  • @EnableAutoConfiguration

    • 啟用 Spring Boot 的自動配置功能,根據依賴和配置動態載入元件。
    • 原因:減少手動配置,按需載入。

b) 控制器相關注解

  • @Controller

    • 用於定義處理 HTTP 請求的類。
    • 原因:實現 MVC 模式中的控制器層邏輯。
  • @RestController

    • @Controller@ResponseBody 的組合,直接返回 JSON 或物件。
    • 原因:更方便構建 REST API。
  • @RequestMapping

    • 用於對映請求 URL 到方法上。
    • 原因:定義路由邏輯和處理函式的入口。
  • @GetMapping / @PostMapping

    • 專用於處理特定 HTTP 方法的請求。
    • 原因:簡化 RESTful API 的開發。

c) 依賴注入相關注解

  • @Autowired

    • 自動裝配 Bean。
    • 原因:替代 XML 配置的 <bean> 和手動注入程式碼。
  • @Component

    • 標記一個類為 Spring 容器的 Bean。
    • 原因:減少手動 Bean 定義。
  • @Service / @Repository

    • @Component 的特殊化,用於標記業務層和持久層元件。
    • 原因:語義化更清晰,便於區分不同的職責。

d) 資料訪問相關注解

  • @Transactional

    • 宣告事務管理。
    • 原因:簡化事務的啟用,便於跨方法和元件的事務一致性。
  • @Entity

    • 定義一個 JPA 實體。
    • 原因:將物件與資料庫表直接對映。

e) 配置屬性相關注解

  • @Value

    • 從配置檔案讀取值。
    • 原因:便於動態獲取外部配置。
  • @ConfigurationProperties

    • 將配置檔案中的屬性對映為 Java 類。
    • 原因:批次讀取和管理配置。

相關文章