SpringBoot启动过程
- SpringApplication启动
- new SpringApplication()
- 初始化 {
判断应用程序的类型(none,servlet,reactive)
加载所有的初始化容器
加载所有的监听器
找到程序运行的主类
} - run()
- 1.开启计时器StopWatch
- 2.配置系统属性java.awt.headless
- 3.注册listeners
- 4.准备加载命令行参数值
- 5.准备当前应用程序的环境
- 6.设置系统属性,保证某些bean不会添加到准备的环境中
- 7.准备banner的打印
- 8.准备上下文的基本环境对象
- 9.设置异常报告器对象
- 10.准备当前上下文对象
- 11.刷新上下文环境(关键步骤)
- 12.上下文对象准备好之后的操作,默认什么都不做,方便扩展。
- 13.计时结束,并打印启动程序的运行时长。
- 14.运行所有的监听器对象。