SpringBoot加載運行時監聽器(SpringApplicationRunListeners)
利用 Spring 工廠加載機制,讀取 SpringApplicationRunListener 對象集合,並且封裝到組合類
SpringApplicationRunListeners
實現運行時監聽器
- 創建類實現接口SpringApplicationRunListeners,一定要有帶
SpringApplication application, String[] args
參數的構造函數
public class HelloWorldRunListener implements SpringApplicationRunListener {
public HelloWorldRunListener(SpringApplication application, String[] args) {
}
// Spring 應用剛啟動
@Override
public void starting() {
System.out.println("HelloWorldRunListener.starting()...");
}
// ConfigurableEnvironment 准備妥當,允許將其調整
@Override
public void environmentPrepared(ConfigurableEnvironment environment) {
}
// configurableApplicationContext 准備妥當,允許將其調整
@Override
public void contextPrepared(ConfigurableApplicationContext context) {
}
// ConfigurableApplicationContext 已裝載,但仍未啟動
@Override
public void contextLoaded(ConfigurableApplicationContext context) {
}
// ConfigurableApplicationContext 已啟動,此時 Spring Bean 已初始化完成
@Override
public void started(ConfigurableApplicationContext context) {
}
// Spring 應用正在運行
@Override
public void running(ConfigurableApplicationContext context) {
}
// Spring 應用運行失敗
@Override
public void failed(ConfigurableApplicationContext context, Throwable exception) {
}
}
- 在spring.properties文件中添加
# SpringApplicationRunListener
org.springframework.boot.SpringApplicationRunListener=\
com.imooc.diveinspringboot.run.HelloWorldRunListener