SpringBoot Application共支持6種事件監聽,分別是:
// 1.Spring最開始啓動的時候觸發
ApplicationStartingEvent
// 2.Spring已經準備好上下文但是上下文尚未創建的時候觸發
ApplicationEnvironmentPreparedEvent
// 3.Bean定義加載之後、刷新上下文之前觸發
ApplicationPreparedEvent
// 4.在刷新上下文之後、調用application命令之前觸發
ApplicationStartedEvent
// 5.在調用applicaiton命令之後觸發
ApplicationReadyEvent
// 6.啓動Spring發生異常時觸發
ApplicationFailedEvent
注意
1. Bean的創建在第三步和第四步之間
2. ApplicationRunner和CommandLineRunner的執行在第四步和第五步之間
3. 啓動類中,執行SpringApplication.run()方法後的代碼,在第六步之後執行
事件監聽的實現可以參考SpringBoot入門十一,容器啓動完成執行指定代碼的方式二