[个人笔记]springboot2.2.7的启动分析

2020-05-15  本文已影响0人  Ashin10

个人笔记
网上的分析都是捂成一团,每个字你都认识,但不知道在说什么,而且2.2.x后多了点新内容
因此本人通过流程图+源码+解释的方式分析春季启动springboot 2.2.7的启动过程

完整图.png

流程概述

主要有4+1步

  1. 启动入口方法 SpringApplication.run(...)
  2. 执行run方法(1号/2号),创建SpringApplication实例
  3. 执行SpringApplication的构造函数,设置SpringApplication实例
  4. 执行(3号)run方法,正式创建ApplicationContext容器
  5. 结束

1. 启动入口方法 SpringApplication.run(...)

image.png

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

image.png

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

image.png

有几个需要关注的地方


image.png

4. 执行(3号)run方法,正式创建ApplicationContext容器

最复杂也是最主要的部分

image.png
image.png
stopwatch停止后会进行日志打印,至此springboot启动完毕

但prepareContext(...)的部分还有需要注意的


image.png

理解起来还不是很难,无非是通过2(3)个run的来实现容器的构建

后期考虑加个表格的网盘 有人点赞我就加了

链接: https://pan.baidu.com/s/1djW3fhmmtyzY4Vfsx4vHuQ
提取码: cx8u

参考

https://blog.csdn.net/woshilijiuyi/article/details/82350057

https://www.baeldung.com/spring-boot-lazy-initialization

上一篇 下一篇

猜你喜欢

热点阅读