本章節介紹了Spring 框架對控制反轉(IOC)的實現,IOC 也被稱為依賴注入(DI)。它是一個處理對象的依賴的過程,換句話說就是處理與某個對象一起工作的其它對象。對象所依賴的其它對象可以通過構造參數、工廠方法參數以及設置對象實例的屬性來定義。當一個對象被創建時,IOC 容器會注入它的依賴,這個過程與傳統創建對象的方式是相反的故稱為控制反轉(IOC)。
 
`org.springframework.beans`和`org.springframework.context`包是IOC 容器的基礎組成部分。其中,BeanFactory接口提供了高級的配置機制來管理任意類型對象。`ApplicationContext`是`BeanFactory`的子接口,它提供了:
* 更易于和 Spring的AOP集成的特性
* 信息資源處理(用于國際化)
* 事件發布
* 特定的應用層上下文,比如用于Web 應用的`WebApplicationContext`接口
簡而簡之,`BeanFactory`提供框架配置的基本功能,而`ApplicationContext`添加了更多與企業應用相關的功能,在講解 IOC 容器時會專門的介紹它。關于如何使用`BeanFactory`來替代`ApplicationContext`的信息,請參考"[1.16.BeanFactory](1.16.BeanFactory.md)"。
 
在 Spring 中,所有被IOC 容器管理的,構成應用核心骨架的對象都被稱為 Bean,它是由容器來實例化、裝配、管理的對象。此外,它也是應用中眾多對象的一個。Bean 以及依賴的實例化和裝配等工作全部是由容器中的配置元信息(配置信息由用戶提供)來完成。
- ---- 閱讀說明
- 一、核心技術
- 1.IOC容器
- 1.1.IOC 容器和 Bean 簡介
- 1.2.容器概覽
- 1.2.1.配置元數據
- 1.2.2.實例化容器
- 1.2.3.使用容器
- 1.3.Bean概覽
- 1.3.1.Bean的命名
- 1.3.2.實例化Bean
- 1.4.依賴
- 1.4.1.依賴注入
- 1.4.2.依賴配置詳情
- 1.4.5.注入合作者
- 1.4.4.Bean的懶加載
- 1.5.Bean的范圍
- 1.6.自定義Bean的特性
- 1.6.1.生命周期回調函數
- 1.7.繼承Bean定義
- 1.9.基于注解的容器配置
- 1.9.1.@Required
- 1.12.基于Java的容器配置
- 1.12.3.使用@Bean注解
- 1.15.ApplicationContext的附加功能
- 1.15.4.Web 應用中便捷的 ApplicationContext 實例
- 1.16.BeanFactory
- 2.資源
- 2.7.應用上下文和資源路徑
- 3.驗證、數據綁定以及類型轉換
- 3.5.Spring類型轉換
- 3.5.4.ConversionService API
- 5.基于 Spring 的面向切面編程
- 5.8.在 Spring 中使用 AspectJ
- 5.8.1.在 Spring 中使用 AspectJ 注入領域對象
- 二、測試
- 三、數據訪問
- 四、Web應用
- 五、Web響應式編程
- 六、集成
- 4.1.介紹
- 七、編程語言