一. 初始化SpringApplication
(一)实例化SpringApplication
1. 关键节点

2. 调用栈

二. 初始化classpath下 META-INF/spring.factories中已配置的ApplicationContextInitializer
(一)获取META-INF/spring.factories中配置的类名并返回
1. 总截图

2. 调用栈

(二) 对META-INF/spring.factories中配置的类进行实例化
1. 总图

2. 调用栈

注意:初始化classpath下所有已配置的 ApplicationListener与上述过程无异,且紧跟着上述过程发生以后发生。来获取需要的监听器类并实例化
三. SpringBoot启动类(主类)实例化并存入IOC容器中
(一)获取main方法的类
该类实际就是我们启动类(主类),将其获取并存入SpringApplication类中的成员变量mainApplicationClass
1. 总图


本文详细解析了SpringBoot的启动流程,从初始化SpringApplication到BeanDefinition的注册,涵盖了实例化SpringApplication、加载META-INF/spring.factories配置、启动类实例化、自动配置、BeanDefinition定位及注册等核心步骤。
最低0.47元/天 解锁文章
628

被折叠的 条评论
为什么被折叠?



