SpringBoot生命周期事件
Cyberpunch 2021年10月26日
-
ApplicationStartingEvent
在SpringApplication启动时,Environment或容器ApplicationContext创建前触发,标志SpringApplication开始启动。
-
ApplicationEnviromentPreparedEvent
当SpringApplication已经开始启动且环境变量Environment已经准备好时触发,标志环境变量已经准备好了。
-
ApplicationContextInitializedEvent
ApplicationContextInitializers的初始化方法已经被调用即从Spring。factories中加载的initializers已经执行ApplicationContext初始化逻辑但在bean定义加载之前被触发,标志ApplicationContext已经初始化完成
-
ApplicationPreparedEvent
在Spring容器刷新refresh前触发
-
ApplicationStartedEvent
在Spring容器刷新后触发,但在调用ApplicationRunner及CommandLineRunner的run()方法调用前触发,标志Spring容器已经刷新,此时所有的bean实例都已经加载了。
-
ApplicationReadyEvent
只要SpringApplication可以接受服务器请求时即调用完ApplicationRunner和CommandLineRunner的run()方法后触发,此时标志SpringApplication已经在运行,即成功启动。
-
ApplicationFailedEvent(失败触发)
若SpringApplication未能成功启动则会catch住异常发布ApplicationFailedEvent时间,标志Application启动失败。