xuMengqi's Blog

Spring应用上下文是如何刷新的?


目录


  1. 1. 背景
    1. 1.1. BeanFactory和ApplicationContext有什么区别?
    2. 1.2. 为什么要使用ApplicationContext?
    3. 1.3. ApplicationContext的继承体系
  2. 2. Spring应用上下文刷新流程
    1. 2.1. 准备要刷新的应用上下文(prepareRefresh)
    2. 2.2. 获取应用上下文使用的Bean工厂(obtainFreshBeanFactory)
    3. 2.3. 准备应用上下文使用的Bean工厂(prepareBeanFactory)
    4. 2.4. 应用上下文子类对Bean工厂进行后置处理(postProcessBeanFactory)
    5. 2.5. Bean工厂后置处理器后置处理(invokeBeanFactoryPostProcessors)
    6. 2.6. 注册Bean后置处理器(registerBeanPostProcessors)
    7. 2.7. 初始化消息源(initMessageSource)
    8. 2.8. 初始化应用事件广播器(initApplicationEventMulticaster)
    9. 2.9. 应用上下文子类刷新(onRefresh)
    10. 2.10. 注册事件监听器(registerListeners)
    11. 2.11. 完成Bean工厂的初始化(finishBeanFactoryInitialization)
    12. 2.12. 完成刷新(finishRefresh)