Spring容器是如何启动的
容器刷新的12大步骤
Spring容器的刷新过程是Spring框架启动的核心流程,主要包括以下12个步骤:
-
准备刷新(prepareRefresh)
- 初始化上下文环境,设置启动时间、活跃状态等。
- 验证必要的属性是否已配置。
-
获取刷新后的Bean工厂(obtainFreshBeanFactory)
- 刷新或创建
BeanFactory,加载Bean定义(如XML、注解等)。
- 刷新或创建
-
准备Bean工厂(prepareBeanFactory)
- 配置
BeanFactory的标准上下文特性,如类加载器、后置处理器等。
- 配置
-
后置处理Bean工厂(postProcessBeanFactory)
- 允许子类对
BeanFactory进行自定义处理。
- 允许子类对
-
调用Bean工厂后置处理器(invokeBeanFactoryPostProcessors)
- 调用
BeanFactoryPostProcessor,修改Bean定义或配置。
- 调用
-
注册Bean后置处理器(registerBeanPostProcessors)
- 注册
BeanPostProcessor,用于在Bean初始化前后进行处理。
- 注册
-
初始化消息源(initMessageSource)
- 初始化国际化消息源。
-
初始化事件广播器(initApplicationEventMulticaster)
- 初始化事件广播器,用于事件发布。
-
刷新其他特殊Bean(onRefresh)
- 允许子类初始化其他特殊Bean。
-
注册监听器(registerListeners)
- 注册事件监听器,监听应用事件。
-
完成Bean工厂初始化(finishBeanFactoryInitialization)
- 初始化所有单例Bean,确保它们已实例化并准备好使用。
-
完成刷新(finishRefresh)
- 发布上下文刷新完成事件,完成容器刷新。
这些步骤确保了Spring容器正确加载、配置并初始化所有Bean,使应用能够正常运行。
SpringMVC 一站式Web框架
B/S 浏览器
C/S 客户端