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通知别人

容器功能扩展(一)

相关文章: