轉載自 https://blog.csdn.net/u013202238/article/details/83215311
設置Spring ApplicationListener 的6種方式
第一種無法監聽
org.springframework.boot.context.event.ApplicationStartedEvent
第四種,第五種配置方式無法監聽
org.springframework.boot.context.event.ApplicationStartedEvent
org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent
org.springframework.boot.context.event.ApplicationPreparedEvent
1 在application.yml或者在application.properties配置文件中通過context.listener.classes配置
2 在resources目錄下新建META-INF文件夾並新建spring.factories文件通過org.springframework.context.ApplicationListener配置
3 在啟動main函數中通過SpringApplication配置
SpringApplication springApplication = new SpringApplication(null);
springApplication.addListeners(你的監聽器);
4 使用@Configuration 注解配置,同時可以配合@Order(-100)設置優先級
5 使用@EventListener 注解配置在bean中定義任意方法並使用該注解, 注解屬性class中可以指定具體監控的事件類,通過方法參數指定事件類型,如果不指定則表示監控所有的事件
6 通過實現接口org.springframework.context.ApplicationContextInitializer,得到context后通過編程式,設置監聽器