一. 初始化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