`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容器](https://box.kancloud.cn/5ab6e3c3c7c024947945a20841bd20ea_498x296.png)
:-: 图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.介绍
- 七、编程语言