SpringBoot成神之路--16.springboot启动配置原理的底层源码深入分析

目录

一、springboot启动配置原理

 先分析创建对象SpringApplication

分析run方法

 


一、springboot启动配置原理

由于springboot的启动时通过springbootapplication.run方法开始的,那我们就从这里作为分析的源头

 

我们可以看到它首先创建了SpringApplication对象 ,在运行run方法

 先分析创建对象SpringApplication

将 主配置类source保存到source中

 

 判断是不是web应用

 设置初始化

 初始化的核心在于调用了getSpringFactoriesInstances方法

 

 

 

 总结初始化:从类路径下找到META-INF/spring.factories配置的所有ApplicationContextInitializer;然后保存起来

 继续往下看到设置监听器

 同理上面的初始化

从多个配置类中找到哪个有main方法的主配置类

 

 现在SpringApplication已经创建好了,然后是运行run()方法了

分析run方法

 

 

 获取运行时监听器

 通过获得spring工厂来得到监听器(从类路径线下META-INF/spring.facotries得到监听器)

获取都之后,启动监听器

 

 封装了命令行参数

 准备环境

 

 打印图标

 

创建IOC容器

  通过反射创建IOC容器

 出现异常以后的信息处理

 准备(将相关对象放入到容器中)IOC容器

 

 刷新容器(初始化所有的bean以及相关配置,如果是web应用还会创建嵌入式的tomcat对象)

 

 

 从ioc容器中获取所有的ApplicationRunner(先回调)和CommandLineRunner进行回调,

 所有的SpringApplicationRunListener回调finished方法

 最后返回IOC容器

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值