码迷,mamicode.com
首页 > 编程语言 > 详细

Spring 源码总结

时间:2019-08-12 00:59:53      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:messages   blog   执行   tor   def   res   事件监听器   ESS   载器   

refresh()

1. prepareRefresh()

刷新预处理

  1. 设置容器状态为 active
  2. 初始化属性配置,空方法,可以重写这个方法来自定义属性
  3. 属性配置校验,也是空的
  4. 缓存容器中早期事件监听器

2. obtainFreshBeanFactory()

获取 BeanFactory

  1. 创建 DefaultListableBeanFactory,并设置 serializationId
  2. 返回上一步创建的 BeanFactory,此时只有一些默认的配置

3. prepareBeanFactory(beanFactory)

BeanFactory 预准备

  1. 设置 BeanFactory 的类加载器、表达式解析器等
  2. 添加 BeanPostProcessor
  3. 忽略指定的自动装配依赖接口
  4. 注册能够自动装配的组件、默认的环境配置等

4. postProcessBeanFactory(beanFactory);

可以重写这个方法来在 BeanFactory 准备完成后执行一些操作

5. invokeBeanFactoryPostProcessors(beanFactory);

执行 BeanDefinitionRegistryPostProcessor、BeanFactoryPostProcessor。Spring 后置处理器源码

6. registerBeanPostProcessors(beanFactory);

执行 BeanPostProcessor。Spring 后置处理器源码

7. initMessageSource();

初始化 MessageSource,用于国际化配置等

  1. 从容器获取 MessageSource 组件
  2. 如果容器中不存在,则默认设置为 DelegatingMessageSource

8. initApplicationEventMulticaster();

初始化事件派发器。Spring事件监听器源码

9. onRefresh();

可以重写这个方法来在容器刷新时执行一些操作

10. registerListeners();

添加 ApplicationListener 监听器。Spring事件监听器源码

11. finishBeanFactoryInitialization(beanFactory);

  1. 初始化剩余的非懒加载单例 Bean。Spring 后置处理器源码
  2. 添加 @EventListener 监听器。Spring事件监听器源码

12. finishRefresh();

刷新完成,给监听器发布事件。Spring事件监听器源码

Spring 源码总结

标签:messages   blog   执行   tor   def   res   事件监听器   ESS   载器   

原文地址:https://www.cnblogs.com/bigshark/p/11337401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!