- 1.启动定时器记录记录整个SpringBoot应用启动过程花费时长
- 获取
SpringApplication
实例对象的启动类监听器并遍历发布应用开始启动事件
- 获取
- 3.实例化启动命令行参数
- 4.打印SpringBoot项目图标
- 5. 启动监听器发布应用开始启动事件
- 6. 准备启动环境:这一过程会实例化一个
ConfigurableEnvironment
类的配置环境对象 , 并将从应用配置文件中读取到的环境变量填充到配置环境对象中;监听器发布环境准备事件 , 然后再将初始化的配置环境对象与SpringApplication
实例对象绑定 , 绑定过程中会解析环境变量中的属性占位符变量 - 7. 创建Spring应用上下文:这一过程会根据前面实例化和初始化
SpringApplication
过程中推断出的应用程序类型通过反射的方式加载和实例化具体的Spring应用上下文实现类 。Servlet
类型对应的Spring应用上下文是AnnotationConfigServletWebSewrverApplicationContext
类实例 - 8. 准备Spring应用上下文: 这一过程会去设置Spring应用上下文环境的环境属性、 后处理Spring应用上下文、监听器发布应用上下文加载事件、添加Spring应用上下文beanFactory后置处理器、加载配置类和xml配置文件以及扫描包下的Bean定义并注册到
beanFactory
, Spring应用上下文实际的beanFactory
是DefaultListableBeanFactory
,它里面使用了一个初始容量为256的ConcurrentHashMap
的数据结构存放BeanDefination
对象 - 9 . 刷新应用上下文:如果是
Servlet
类型应用这个过程会去实例化和初始化一个web服务器并启动这个web服务器 , 如过启动web服务器失败则会在SpringApplication
实例对象设置了关停钩子的情况下注册关停钩子 , 同事关闭web服务器并销毁所有的bean -10; 运行实现了ApplicationRunner
和CommandLineRunnner
接口组件类中的任务 -11. 如果整个运行过程捕获到异常则收集异常信息 , 监听器发布应用失败事件 , 抛出捕获到异常
经验总结扩展阅读
- 一次SpringBoot版本升级,引发的血案
- 个人办理社保的流程是怎样的 个人怎么交社保
- 回门酒参加的都是谁 回门酒的流程
- 88vip双十一大额消费券领取流程2022 淘宝88vip双十一大额优惠券使用规则
- SpringBoot 03: 常用web组件 - - - 拦截器 + Servlet + 过滤器
- 房屋确权必须是户主吗 房屋确权的办理流程
- 公寓能不能抵押 房产证抵押贷款流程是什么
- SpringBoot 02: 初识SpringBoot
- 二手房网签注意事项 二手房网签流程
- 买房网签之后还有什么流程