Spring註解的使用規範

  我們經常說的控制翻轉(Inversion of Control,IOC)和依賴注入(dependency injection,DI)在Spring環境下是等同的概念,控制翻轉是通過依賴注入實現的。所謂的依賴注入指的是容器負責創建對象和維護對象間的依賴關係,而不是通過對象本身負責自己的創建和解決自己的依賴。

  依賴注入的主要目的是爲了解耦,體現了一種“組合”的理念。如果你希望你的類具備某項功能的時候,是繼承自一個具有此功能的父類好呢?還是組合另外一個具有這個功能的類好呢?答案是不言而喻的,繼承一個父類,子類將與父類耦合,組合另外一個類則使耦合度大大降低。

  Spring Ioc容器(ApplicationContext)負責創建Bean,並通過容器將功能類Bean注入到你需要的Bean中。Spring提供使用xml、註解、Java配置、groovy配置實現Bean的創建和注入。

  無論是xml配置、註解配置還是Java配置,都被稱爲配置元數據,所謂元數據即描述數據的數據。元數據本身不具備任何可執行的能力,只能通過外界代碼來對這些元數據進行解析進行一些有意義的操作。Spring容器解析這些配置元數據進行Bean初始化、配置和管理依賴。

  聲明Bean的註解:

  • @Component:組件,沒有明確的角色。
  • @Service:在業務邏輯層(Service層)使用。
  • @Repository:在數據訪問層(dao層)使用。
  • @Controller:在展現層(MVC→Spring MVC)使用

  注入Bean的註解,一般情況下通用:

  • @Autowired:Spring提供的註解。
  • @Inject:JSR-330提供的註解。
  • @Resource:JSR-250提供的註解。

  @Autowired、@Inject、@Resource可註解在set方法上或屬性上,但建議註解在屬性上,優點是代碼更少、層次更清晰。

  參考:《Spring Boot實戰》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章