AnnotationConfigApplicationContext容器刷新源码分析二

refresh容器刷新方法
1、prepareRefresh 调用容器准备刷新的方法,获取容器的当前时间,给容器设置同步标识
2、obtainFreshBeanFactory 返回beanFactory实例
   1、子类实现启动refreshBeanFactory
   2、继承父类GenericApplicationContext构造方法中new DefaultListableBeanFactory()创建beanFactory实例。
3、prepareBeanFactory(beanFactory) 为BeanFactory配置容器特性,如类加载器,事件处理器等
4、postProcessBeanFactory(beanFactory) 容器的某些子类自动特殊的BeanPost事件处理器
5、invokeBeanFactoryPostProcessors(beanFactory) 调用所有的注册BeanFactoryPostProcessor的Bean
6、registerBeanPostProcessors(beanFactory) 为BeanFactroy注册BeanPost事件处理器
7、initMessageSource() 初始化信息源和国际化相关内容
8、initApplicationEventMulticaster() 初始化容器事件多播器
9、onRefresh() 调用子类的某些特殊Bean初始化方法
10、registerListeners() 为事件多播器注册事件监听器
11、finishBeanFactoryInitialization(beanFactory) 初始化所有剩余的单实例Bean
12、finishRefresh() 初始化容器的生命周期事件处理器,并发表容器的生命周期事件
  1、clearResourceCaches() 清理资源缓存
  2、initLifecycleProcessor() 初始化生命周期事件处理器
  3、getLifecycleProcessor().onRefresh() 调用生命事件处理器的refresh方法
  4、发布ContextRefreshedEvent 容器刷新事件
  5、LiveBeansView.registerApplicationContext(this) 将容器add到LiveBeansView     registerMBean 有一套JDK级别的对外的服务接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值