Spring Boot中的注解


文章來源:http://www.tuicool.com/articles/bQnMra

 

在Spring Boot中幾乎可以完全棄用xml配置文件,本文的主題是分析常用的注解。

Spring最開始是為了解決EJB等大型企業框架對應用程序的侵入性,因此大量依靠配置文件來“非侵入式”得給POJO增加功能,然而,從Spring 3.x開始,Spring被外界最為詬病的一點就是配置繁多,號稱“配置地獄”,各種xml文件,出了問題非常難排查。從Spring 4.x開始,Spring.io提供了三種方式編織Bean:

  • 利用注解:隱式配置,例如:@Autowired、@Bean、@Component等,通過注解來簡化xml文件。
  • 利用Java文件:顯示配置,比xml配置的優勢是具備類型安全
  • 利用傳統的xml配置文件

注解(annotations)列表

    1. @ResponseBody 
      用該注解修飾的函數,會將結果直接填充到HTTP的響應體中,一般用於構建RESTful的api;
    2. @Controller 
      用於定義控制器類,在spring 項目中由控制器負責將用戶發來的URL請求轉發到對應的服務接口(service層)。
    3. @RestController 
      @ResponseBody和@Controller的合集
    4. @RequestMapping 
      提供路由信息,負責URL到Controller中的具體函數的映射。
    5. @EnableAutoConfiguration 
      Spring Boot自動配置(auto-configuration):嘗試根據你添加的jar依賴自動配置你的Spring應用。例如,如果你的classpath下存在HSQLDB,並且你沒有手動配置任何數據庫連接beans,那么我們將自動配置一個內存型(in-memory)數據庫”。你可以將@EnableAutoConfiguration或者@SpringBootApplication注解添加到一個@Configuration類上來選擇自動配置。如果發現應用了你不想要的特定自動配置類,你可以使用@EnableAutoConfiguration注解的排除屬性來禁用它們。例子代碼如下:
    6. @ComponentScan 
      表示將該類自動發現(掃描)並注冊為Bean,可以自動收集所有的Spring組件,包括@Configuration類。我們經常使用@ComponentScan注解搜索beans,並結合@Autowired注解導入。
    7. @Configuration 
      相當於傳統的xml配置文件,如果有些第三方庫需要用到xml文件,建議仍然通過@Configuration類作為項目的配置主類——可以使用@ImportResource注解加載xml配置文件。
    8. @SpringBootApplication 
      相當於@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
    9. @Import 
      用來導入其他配置類。
    10. @ImportResource 
      用來加載xml配置文件。
    11. @Autowired 
      自動導入依賴的bean
    12. @Service 
      一般用於修飾service層的組件
    13. @Repository 
      使用@Repository注解可以確保DAO或者repositories提供異常轉譯,這個注解修飾的DAO或者repositories類會被ComponetScan發現並配置,同時也不需要為它們提供XML配置項。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM