在SpringBoot启动时,会触发一系列事件,以下是SpringBoot应用启动过程中所有的事件及对应的时机:
-
ApplicationStartingEvent:在SpringBoot应用开始启动时触发。
-
ApplicationEnvironmentPreparedEvent:在应用上下文环境创建之前触发。
-
ApplicationContextInitializedEvent:在应用上下文初始化之前触发。
-
ApplicationPreparedEvent:在应用上下文环境创建之后触发,此时所有的Bean都已经加载完成。
-
ApplicationContextRefreshedEvent:在应用上下文刷新之后触发,此时所有的Spring Bean都已经准备就绪。
-
ApplicationStartedEvent:在SpringBoot应用启动完成后触发,在这里可以进行一些功能特性的设置。
-
AvailabilityChangeEvent:在SpringBoot应用启动完成后,表示应用已经可用,可以接受来自外部系统的请求。
-
WebServerInitializedEvent:在Web服务器初始化完成后触发。
-
ServletWebServerInitializedEvent:在Servlet Web服务器初始化完成后触发。
-
ReactiveWebServerInitializedEvent:在响应式Web服务器初始化完成后触发。
-
ApplicationReadyEvent:在SpringBoot应用准备好接收请求时触发。
-
ApplicationFailedEvent:在SpringBoot应用启动过程中出现异常时触发。
以上事件都可以通过自定义监听器进行监听和处理相应的操作,在SpringBoot应用的不同阶段实现不同的业务逻辑和处理流程。