Spring Boot启动流程
简述:
- 项目启动时,调用入口类MySpringBootApplication的main方法。
- 入口类MySpringBootApplication的main方法会调用SpringApplication的静态方法run。
- 在run方法中首先创建一个SpringApplication对象实例,然后调用SpringApplication对象实例的run方法。
- 查询和加载所有的SpringApplicationListener监听器。
- SpringApplicationListener监听器调用其starting方法,Spring Boot通知这些SpringApplicationListener监听器,我马上要开始执行了。
- 创建和准备Spring Boot应用将要使用的Environment环境,包括配置要使用的PropertySource以及Profile。
- 创建和初始化应用上下文ApplicationContext。这一步只是准备工作,并未开始正式创建。
- 这一步是最重要的,Spring Boot会通过@EnableAutoConfiguration获取所有配置以及其他形式的IoC容器配置加载到已经准备完毕的ApplicationContext。
- 主要是调用ApplicationContextInitializer类的initialize方法对应用上下文进行设置和处理。
- 调用ApplicationContext上下文的refresh方法,使Ioc容器达到可用状态。
- 查找当前ApplicationContext上下文是否注册有ApplicationRunner与CommandLineRunner,如果有,循环遍历执行ApplicationRunner和CommandLineRunner的run方法。
- 执行SpringApplicationListener的finished方法,Spring Boot应用启动完毕。
源码:
***
愿你一生努力·一生被爱

Spring Boot启动流程
浙公网安备 33010602011771号