springBoot启动流程

1.构建SpringApplication实例对象,在实例初始化的时候

  • 根据classpath里面是否存在某个特征类(org.springframework.web.context.ConfigurableWebApplicationContext)来决定是否应该创建一个为Web应用使用的ApplicationContext类型。
  • 使用SpringFactoriesLoader在应用的classpath中查找并加载所有可用的ApplicationContextInitializer。
  • 使用SpringFactoriesLoader在应用的classpath中查找并加载所有可用的ApplicationListener。
  • 推断并设置main方法的定义类。
  • 配置source

2.获取构造器工厂对象,遍历所有通过SpringFactoriesLoader可以查找到并加载的SpringApplicationRunListener,启动开始方法,监听器可以知晓启动已经开始。

3.创建当前springBoot项目将要用的的Environment(包括配置要使用的PropertySource以及Profile)。

4.遍历调用所有SpringApplicationRunListener的environmentPrepared()的方法,告诉他们:当前SpringBoot应用使用的Environment准备好

5.将之前准备好的Environment设置给创建好的ApplicationContext使用,创建好上下文

6.遍历调用所有SpringApplicationRunListener的contextPrepared()方法,监听器客知晓上下文已经准备好

7.最核心的一步,将之前通过@EnableAutoConfiguration(八爪鱼)获取的所有配置以及其他形式的IoC容器配置加载到已经准备完毕的ApplicationContext,

8.遍历调用所有SpringApplicationRunListener的contextLoaded()方法。

9.最后refresh()方法,完成IOC的容器可用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值