首先介紹系列文章內容及Spring Framework官方文件情況。
在這一系列學習中,我閱讀的主要資源是5.1.2 Reference Doc.,以及論壇大神的講解blog。另外,Spring官方也給出了非常詳細的API文件,適合較為熟悉的使用者查閱。
Documentation主要包括6部分:Core, Testing, Data Access, Web Reactive, Integration, Language。
本篇文章講解Core的前一部分。
官方文件:Spring Framework Documentation
https://docs.spring.io/spring…
1.Spring中的IoC容器
1.1.Spring IoC及Beans介紹
Spring Framework的Ioc容器主要由如下兩個包構成:org.springframework.beans
以及ogr.springframework.context
。
IoC中的核心介面為BeanFactory
。這一介面提供了配置機制以及一些基本的功能。其中,配置機制允許Spring Framework處理任何型別的物件;具體功能包括例項化、定位、配置應用程式中的物件及建立這些物件間的依賴。Spring提供了一些易用的BeanFactory實現,例如XmlBeanFactory類。該類以XML方式描述組成應用的物件以及物件間依賴關係。
BeanFactory
提供了名為ApplicationContext
的子介面,這一介面保留了BeanFactory的所有內容,並針對企業進行了功能擴充套件,包括:
- 更好地整合Spring的AOP特徵
- 管理訊息資源(針對於國際化使用)
- 事件釋出
- 為應用層提供特殊情景的支援(例如為web應用開發提供了
WebApplicationContext
)
在接下來的講解中,主要使用ApplicationContext對Spring的IoC容器進行介紹。
在Spring中,軟體中的所有物件都由Spring進行生命週期的管理,這些物件統稱為beans。beans以及其間的依賴關係都由容器的配置檔案反映。
1.2.容器概覽
這裡主要以org.springframework.context.ApplicationContext
介面進行容器介紹。
ApplicationContext是Spring容器的描述,它負責對所有的beans進行例項化、配置並建立物件間依賴關係,所有操作從配置檔案中讀取。配置檔案可以使用XML, Java註釋或Java code描述,其內容應當包括組成軟體的物件以及物件間依賴關係。
Spring提供了一些ApplicationContext
的實現。在開發獨立應用時,ClassPathXmlApplication
和FileSystemXmlSystemApplication
的使用較多。這兩個類都是基於XML語言對軟體進行配置。你也可以使用Xml宣告對Java註釋和Java code的支援,這樣在軟體開發中就可以使用多種宣告語言進行配置檔案的描述了。
在大多數的應用開發中,非常簡單的程式碼就可以建立一個Spring IoC container。例如在web應用情景中,8行左右的格式化的XML宣告web.xml
就足夠了。另外,Spring提供了“Spring Tool Suite”工具,該工具基於Eclipse對開發環境進行配置,可以幫助開發者更快速地進行配置宣告。
在實際的開飯中,開發者將其業務程式碼(Business Objects, POJOs)注入Spring容器,容器加入配置檔案進行配置,之後就可完成系統的整體配置。
1.2.1配置檔案
配置檔案由對容器管理的bean的定義組成。在xml檔案中,使用<beans/>對相關元素進行標註,在<beans/>下一級使用<bean/>標籤。
(持續更新)