SpringBoot加載應(yīng)用事件監(jiān)聽器代碼實(shí)例
利用 Spring 工廠加載機(jī)制,實(shí)例化 ApplicationListener 實(shí)現(xiàn)類,并排序?qū)ο蠹?/p>
創(chuàng)建應(yīng)用事件監(jiān)聽器
創(chuàng)建類實(shí)現(xiàn)接口ApplicationListener,可以使用@Order或?qū)崿F(xiàn)Orderd接口進(jìn)行排序
@Order(Ordered.HIGHEST_PRECEDENCE)
public class HelloWorldApplicationListener implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
System.out.println("HelloWorld : " + event.getApplicationContext().getId()
+ " , timestamp : " + event.getTimestamp());
}
}
public class AfterHelloWorldApplicationListener implements ApplicationListener<ContextRefreshedEvent>,Ordered {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
System.out.println("AfterHelloWorld : " + event.getApplicationContext().getId()
+ " , timestamp : " + event.getTimestamp());
}
@Override
public int getOrder() {
return Ordered.LOWEST_PRECEDENCE;
}
}
在spring.properties中配置
# ApplicationListener
org.springframework.context.ApplicationListener=\
com.imooc.diveinspringboot.listener.AfterHelloWorldApplicationListener,\
com.imooc.diveinspringboot.listener.HelloWorldApplicationListener,\
輸出
HelloWorld : application , timestamp : 1591105193644
AfterHelloWorld : application , timestamp : 1591105193644
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring 應(yīng)用上下文獲取 Bean 的常用姿勢實(shí)例總結(jié)
這篇文章主要介紹了Spring 應(yīng)用上下文獲取 Bean,結(jié)合實(shí)例形式總結(jié)分析了Spring 應(yīng)用上下文獲取 Bean的實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
Spring定時(shí)任務(wù)只執(zhí)行一次的原因分析與解決方案
在使用Spring的@Scheduled定時(shí)任務(wù)時(shí),你是否遇到過任務(wù)只執(zhí)行一次,后續(xù)不再觸發(fā)的情況?這種情況可能由多種原因?qū)е?如未啟用調(diào)度、線程池問題、異常中斷等,本文將深入分析Spring定時(shí)任務(wù)只執(zhí)行一次的原因,并提供完整的解決方案,需要的朋友可以參考下2025-03-03
SpringBoot整合SpringSecurity認(rèn)證與授權(quán)
在項(xiàng)目開發(fā)中,權(quán)限認(rèn)證是很重要的,尤其是一些管理類的系統(tǒng),對于權(quán)限要求更為嚴(yán)格,本文主要介紹了SpringBoot整合SpringSecurity認(rèn)證與授權(quán),感興趣的可以了解一下2023-11-11
Java結(jié)合Kotlin實(shí)現(xiàn)寶寶年齡計(jì)算
這篇文章主要為大家介紹了Java結(jié)合Kotlin實(shí)現(xiàn)寶寶年齡計(jì)算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
使用Java實(shí)現(xiàn)轉(zhuǎn)換掃描的文檔為可搜索的PDF
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)轉(zhuǎn)換掃描的文檔為可搜索的PDF,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
java定時(shí)任務(wù)框架elasticjob詳解
這篇文章主要介紹了java定時(shí)任務(wù)框架elasticjob詳解,Elastic-Job是ddframe中dd-job的作業(yè)模塊中分離出來的分布式彈性作業(yè)框架。該項(xiàng)目基于成熟的開源產(chǎn)品Quartz和Zookeeper及其客戶端Curator進(jìn)行二次開發(fā)。,需要的朋友可以參考下2019-06-06

