Spring 系列之 IOC 容器的初始化过程九
refresh 方法中的 finishRefresh 方法
闲话先不聊,咱们直接开始今天的主题,今天我们讲解的是 refresh 方法中的 finishRefresh 方法
finishRefresh
发布相应事件
完成此上下文的刷新,调用 LifecycleProcessor 的 onRefresh() 方法并发布 ContextRefreshedEvent
复制代码
initLifecycleProcessor
初始化生命周期处理器。如果上下文中没有定义,则使用 DefaultLifecycleProcessor
复制代码
onRefresh
上下文刷新通知,例如自动启动组件
复制代码
startBeans:
复制代码
autoStartupOnly 在 onRefresh 时传入的是 true,表示只执行可以自动启动的 bean,即为:SmartLifecycle 的实现类,并且 SmartLifecycle#isAutoStartup 返回值必须为 true
publishEvent
发布最终事件
LiveBeansView#registerApplicationContext(this)
这个目前没啥用处,干脆就不说了
很好,我承认这篇文章划水了,明天再继续更新一篇
版权声明: 本文为 InfoQ 作者【王威07325】的原创文章。
原文链接:【http://xie.infoq.cn/article/27bce0bd6ba9d91c94b69b5de】。文章转载请联系作者。
评论