SpringBoot启动顺序

前言

每次有人问起SpringBoot的启动顺序是不是又来翻博客了?其实只需要稍微查看Spring的源码即可

步骤

  1. SpringBoot的入口org.springframework.boot.SpringApplication#run(String... args),
    这里面实现了SpringBoot程序启动的所有步骤

  2. 启动事件的顺序可以看监听器的顺序定义:org.springframework.boot.SpringApplicationRunListeners 或者 org.springframework.boot.SpringApplicationRunListener

附录

SpringBoot启动顺序

创建组件发送事件执行回调
DefaultBootstrapContextBootstrapRegistryInitializer#initialize
SpringApplicationRunListeners
ApplicationStartingEvent
ConfigurableEnvironment
EnvironmentPreparedEvent
Banner
ConfigurableApplicationContext
ContextPreparedEvent
ConfigurableApplicationContext#refresh
ContextRefreshedEvent
ApplicationStartedEvent
AvailabilityChangeEvent
(LivenessState.CORRECT)
ApplicationRunner#run
CommandLineRunner#run
ApplicationReadyEvent
AvailabilityChangeEvent
(ReadinessState.ACCEPTING_TRAFFIC)

提示:可通过ApplicationAvailabilityBean获取到当前LivenessState和ReadinessState的值来判断SpringBoot是否可以启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值