# SpringBoot的run方法流程分析

61080963898

1. 开始启动Springboot应用

61080969735

2. 构建一个SpringBoot应用

61081249186

61081061275

61081482999

2.1.SpringApplication.run()启动此应用

61081534938

61081534053

2.2.启动启动计时器开始计时应用启动监听器开始监听

61081534938

61081573762

2.3.SpringApplicationRunListeners应用启动监听器模块

2.4.ConfigurationEnvironment配置环境模块

2.4.1. 创建配置环境(web/noweb)

61081534938

61081723084

61081728158

2.4.2. 加载属性文件资源

61081534938

61081737912

61081754263

61081762818

61081759512

2.4.3. 配置监听

61081534938

61081821517

2.5.Banner配置SpringBoot彩蛋

61081534938

61081581474

2.6.ConfigurableApplicationContext应用上下文模块

61081534938

61081607987

2.6.1. 创建应用上下文对象(web/noweb)

61081895880

61081895096

61081897427

61081900597

2.6.2. 基础属性配置

61081895880

61081939697

2.6.2.1. 加载配置环境

61081895880

61081984527

2.6.2.2. ResourceLoader资源加载器

61081895880

61082002001

61082004002

61082012695

2.6.2.3. 配置监听

61081895880

61082002001

61082029380

61082032335

61082031076

2.6.2.4. 加载启动参数

61081895880

61082044197

2.6.3. 更新应用上下文

61081895880

61081952226

2.6.3.1. 准备环境所需bean工程

61081895880

61082128010

2.6.3.2. 通过工厂产生环境所需bean

61082067261

61082076556

61081895880

61082095418

2.6.3.3. 应用启动计时器结束计时应用启动监听器结束监听

61081895880

61082155867

61082156529

2.6.3.4. SpringApplication启动结束

61082184159

61082095418

61082185493

3. 初始化模块

61081249186

61081035906

4. 配置source

61081249186

61081074215

5. 配置是否web环境

61081249186

61081076277

6. 创建初始化构造器

61081249186

61081079755

61081115491

6.1. 得到所需工厂集合的实例

61081249186

61081217546

6.2. 获取传入的工厂类名、类加载器

61081249186

61081224684

61081285682

61081237378

6.3. 通过类加载器、获取指定的spring.factories文件

61081285682

61081288017

61081244379

6.4. 获取文件中工厂类的全路径

61081249186

61081312453

6.5. 通过类路径反射得到工厂的class对象、构造方法

61081249186

61081317586

61081335555

6.6. 生成工厂实例返回

61081249186

61081325619

7. 创建应用监听器

61081249186

61081081632

8. 配置应用的主方法所在类

61081249186

61081084105

posted on 2022-04-23 16:57  ofanimon  阅读(116)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css