spring boot在啟動過程中提供了一些事件的監(jiān)聽,這樣極大的方便了開發(fā)者拓展功能;
spring boot支持的事件類型:
事件列表
關(guān)鍵步驟:
1盛卡、實現(xiàn)接口ApplicationListener來創(chuàng)建自己的事件監(jiān)聽類;如:
@Component
public class ApplicationStartedEventListener implements ApplicationListener<ApplicationStartingEvent> {
@Override
public void onApplicationEvent(ApplicationStartingEvent applicationStartedEvent) {
System.out.println("application starting .....");
}
}
2聋涨、在啟動類中注冊,修改此前啟動類的代碼為:
@SpringBootApplication
public class SpringBootDemoApplication {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(SpringBootDemoApplication.class);
springApplication.addListeners(new ApplicationStartedEventListener());
springApplication.run(args);
}
}
3、運行發(fā)現(xiàn)啟動前先打印
image.png
同樣的,為了省事,直接用lamda來實現(xiàn)其他幾個接口
@SpringBootApplication
public class SpringBootDemoApplication {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(SpringBootDemoApplication.class);
springApplication.addListeners(new ApplicationStartedEventListener());
springApplication.addListeners((ApplicationListener<ApplicationPreparedEvent>) event -> {
System.out.println("application prepared event");
});
springApplication.addListeners((ApplicationListener<ApplicationReadyEvent>) event -> {
System.out.println("application ready event");
});
springApplication.run(args);
}
}
系統(tǒng)啟動時,執(zhí)行順序為:application starting
> application prepared
> application ready