ApplicationContext是Spring中的核心接口和容器,允许容器通过应用程序上下文环境创建、获取、管理bean。在构建容器的时候,创建对象采用的策略是立即加载的方式,即只要一读取完配置文件就立即创建配置文件中配置的对象。BeanFactory采用的是延迟加载的方式,什么时候根据id获取对象了,什么时候才真正地创建对象。
该接口具有三个常用的实现类:
1、ClassPathXmlApplicationContext:可以加载类路径下的配置文件,要求配置文件必须在类路径之下。
2、FileSystemXmlApplicationContext:可以加载磁盘中任意路径下的配置文件,要求具有访问权限。
3、AnnotationConfigApplicationContext:用于读取注解创建容器。
一个ApplicationContext提供:
•访问应用程序组件的Bean工厂方法。从org.springframework.beans.factory.ListableBeanFactory继承。
•以通用方式加载文件资源的能力。继承自org.springframe .core.io。ResourceLoader接口。---beanXML
•向注册侦听器发布事件的能力。继承自ApplicationEventPublisher接口。
•解析消息的能力,支持国际化。继承自MessageSource接口。
•从父上下文继承。后代上下文中的定义总是优先级。例如,这意味着单个父上下文可以被整个web应用程序使用,而每个servlet都有自己独立于任何其他servlet的子上下文。
其接口主要子类(接口)包括:ConfigurableApplicationContext、WebApplicationContext