spring中提供了另外一个接口ApplicationContext,用于扩展BeanFactory,ApplicationContext提供了更堵的扩展功能
一、设置路径
配置文件路径可以以数组的方式传入,解析及功能实现都在refresh()中实现
多配置文件,同时支持系统变量
二、扩展功能
2.1、初始化前的准备工作,例如对系统属性或者环境变量就行准备和验证
2.2、初始化BeanFactory,并进行XML文件读取
2.3、对Bean进行各种功能填充,@Qualifier和@Autowired填充
2.4、子类覆盖方法做额外的处理
2.5、激活各种BeanFactory处理器
2.6、注册拦截bean创建bean的处理器,这里只是注册操作
2.7、为上下文初始化Message,对不同语言消息体就行国际化处理
2.8、初始化应用消息广播器,并放入applicationEventMulticaster中
2.9、留给子类来初始化其它的bean
2.10、在所有注册的bean中查找lister bean,注册到消息广播器中
2.11、初始化剩下的单实例
2.12、完成刷新过程,通知声明周期处理器lifecycleProcessor刷新过程、同时发出COntextRefreshEnevt通知别人