[个人笔记]springboot2.2.7的启动分析
2020-05-15 本文已影响0人
Ashin10
个人笔记
网上的分析都是捂成一团,每个字你都认识,但不知道在说什么,而且2.2.x后多了点新内容
因此本人通过流程图+源码+解释的方式分析春季启动springboot 2.2.7的启动过程
完整图.png
流程概述
主要有4+1步
- 启动入口方法 SpringApplication.run(...)
- 执行run方法(1号/2号),创建SpringApplication实例
- 执行SpringApplication的构造函数,设置SpringApplication实例
- 执行(3号)run方法,正式创建ApplicationContext容器
- 结束
1. 启动入口方法 SpringApplication.run(...)

2. 执行run方法(1号/2号),创建SpringApplication实例

3. 执行SpringApplication的构造函数,设置SpringApplication实例

有几个需要关注的地方

4. 执行(3号)run方法,正式创建ApplicationContext容器
最复杂也是最主要的部分


stopwatch停止后会进行日志打印,至此springboot启动完毕
但prepareContext(...)的部分还有需要注意的

理解起来还不是很难,无非是通过2(3)个run的来实现容器的构建
后期考虑加个表格的网盘 有人点赞我就加了
链接: https://pan.baidu.com/s/1djW3fhmmtyzY4Vfsx4vHuQ
提取码: cx8u