容器创建完成
12、refresh()
方法调用finishRefresh()
方法完成BeanFactory
的初始化创建工作,IOC容器就创建完成
finishRefresh()
方法首先调用initLifecycleProcessor()
来初始化和生命周期有关的后置处理器
initLifecycleProcessor()
方法默认从容器中找是否有id
为lifecycleProcessor
且类型为LifecycleProcessor
的组件,如果没有找到就会创建DefaultLifecycleProcessor
并将其注册到容器中
生命周期后置处理器初始化完成之后,会获取前面定义的声明周期处理器,并回调onRefresh()
方法
然后调用publishEvent()
方法发布容器刷新完成事件
最后调用registerApplicationContext()
来暴露一些特定的Bean
至此容器创建完成。