`org.springframework.context.ApplicationContext`表示 IOC 容器,它的職責是實例化、配置以及裝配Bean(容器通過配置元數據去完成這些操作)。XML、Java 注解以及Java 代碼都可以用來編寫配置元數據,它表達了構成應用的對象及對象間豐富的依賴關系。
 
Spring提供了幾種`ApplicationContext`的實現類,在獨立的應用中通常會創建 [`ClassPathXmlApplicationContext`](https://docs.spring.io/spring-framework/docs/5.0.6.RELEASE/javadoc-api/org/springframework/context/support/ClassPathXmlApplicationContext.html)和[`FileSystemXmlApplicationContext`](https://docs.spring.io/spring-framework/docs/5.0.6.RELEASE/javadoc-api/org/springframework/context/support/FileSystemXmlApplicationContext.html)實例(這兩個實現類都是通過 XML 配置文件來實例化)。盡管XML作為配置元數據的傳統定義方式,但你還是可以使用少量的 XML 配置來使得以Java注解或者Java代碼的方式定義的配置元數據生效。
 
在大多數應用場景中,你都不需要直接編寫代碼來實例化一個或多個容器實例。舉個例子,在Web 應用中,通常只需要在`web.xml`中編寫幾行樣板式代碼就可以配置容器了(詳情參見:[1.15.4.Web 應用中便捷的 ApplicationContext 實例](1.15.4.Web應用中便捷的ApplicationContext實例.md))。如果你使用的是基于 Eclipse 的 [STS ](https://spring.io/tools/sts)開發環境,那只需要鼠標點幾下,鍵盤按幾次就可以完成容器的配置。
 
下面是展示 Spring如何工作的頂層圖示。首先,你應用的中的類將會和定義的配置元數據結合,然后容器完成創建、初始化等工作。此時,你將得到一個高度配置的,可運行的系統或應用。
:-: 
:-: 圖1.2-1 Spring IOC容器
- ---- 閱讀說明
- 一、核心技術
- 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.介紹
- 七、編程語言