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