spring boot启动过程

入口是一个main方法,这个main方法里面new一个SpringApplication对象,传入bean源,就是注解了SpringBootApplication 的那个类,调用run方法。
spring boot启动流程分为两部分 一部分是准备阶段,一部分是运行阶段
准备阶段主要有这么几步:
1、配置bean的源,就是bean的来源,就是注解了SpringBootApplication的那个类。
2、推断,推断应用类型,有webflux,webservlet,none
推断主类,这个是通过线程堆栈实现,构造一个运行时异常,找异常堆栈里面找mian所在的那个类。
3、加载上下文初始化器 在这里可以调整applicationcontext
4、加载应用事件监听器 这两个东西都是在mete-info/spring.factories文件里面。

运行阶段,就是调用run方法
先是加载SpringApplication运行时监听器,SpringApplicationRunListeners,默认只有一个EventPublishingRunListener,需要传入准备阶段加载的listeners,在这个地方调用一个广播器广播事件。
然后会根据推断类型,创建一个ApplicationContext,ConfigurableApplicationContext
对这个context初始化,refresh方法
最后会返回这个context。

自动装配:
1、激活自动配置, EnableAutoConfiguration
2、实现自动配置(注解装配,模式装配,条件装配)配置bean
3、将这个配置配置到spring.factories文件里面去

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值