Spring - Configuration Metadata

metadata:元數據ide

Spring configuration metadata則是告知Spring容器:spa

  • 如何初始化,配置,包裹,和組合應用內特定的對象。

Spring從2002年發佈初版到至今最新版,提供了三種方式去進行應用配置:code

  1. XML-based Configuration: 全部的配置信息存放於多個XML文件中,這也是最冗長繁瑣的配置方式。超大型項目們,須要配置超大量的XML文件。想象下就可知道有多難以管理吧?
  2. Annotation-based Configuration:Spring 2.5 開始引入基於註解的配置方式,咱們仍然須要寫XML文件,但如今只須要告知Spring去"component-scan"註解類所在的package便可。
  3. Java-based configuration (JavaConfig): 從3.0開始,Spring提供一種純Java代碼的配置方式。咱們再也不須要寫大量的XML文件了。JavaConfig方式爲依賴注入提供了一種真正的面向對象機制,意味着咱們能夠在配置代碼中充分地使用Java語言的可重用性,繼承性和多態性。開發者徹底掌控了應用中bean的初始化和各項依賴注入的關係等等。

在這篇文章中咱們只關注如JavaConfig。熟識其中一種方式已經足夠去理解Spring容器的關鍵特性了。component

clipboard.png

不管咱們使用哪一種方式,如上圖所示,咱們只須要在三處地方使用configuration metadata:對象

  1. Injection Points:這是各項依賴關係必須被注入的地方。注入點通常都是bean Class中的fields/setters/constructors. Spring在bean loading階段中把相應的對象實例注入到注入點中。
  2. Service Providers:這是各項Service的具體實現類,他們的實例對象會被注入到各個bean的Injection Points中。這些Service Providers類自己會在Spring Container中被初始化,並被登記註冊爲Spring beans,並且他們自身也能夠擁有注入點。
  3. The Configuration:這裏是被@Configuration註解的Java類。同時也是咱們定義依賴關係的地方。
相關文章
相關標籤/搜索