Spring Boot容器加載時(shí)執(zhí)行特定操作(推薦)
某些情況下我們需要在 Spring Boot 容器啟動(dòng)加載完后執(zhí)行一些操作,此時(shí)可以通過(guò)實(shí)現(xiàn) ApplicationListener<E extends ApplicationEvent> 接口,并指定相應(yīng)事件來(lái)執(zhí)行操作,例如啟動(dòng)某些自定義守護(hù)線程
ApplicationContextEvent 是由 ApplicationContext 引發(fā)的事件基類,它有幾個(gè)實(shí)現(xiàn)類:
ContextRefreshedEvent :ApplicationContext 容器初始化或者刷新時(shí)觸發(fā)該事件,執(zhí)行一次
ContextStartedEvent :當(dāng)使用 ConfigurableApplicationContext 接口的 start() 方法啟動(dòng) ApplicationContext 容器時(shí)觸發(fā)該事件
ContextClosedEvent :當(dāng)使用 ConfigurableApplicationContext 接口的 close() 方法關(guān)閉 ApplicationContext 容器時(shí)觸發(fā)該事件
ContextStopedEvent : 當(dāng)使用 ConfigurableApplicationContext 接口的 stop() 方法停止 ApplicationContext 容器時(shí)觸發(fā)該事件
代碼例子
@Component public class ApplicationStartup implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefreshedEvent event) { System.out.println("容器初始化或者刷新時(shí)觸發(fā)該事件,執(zhí)行一次"); } }
總結(jié)
以上所述是小編給大家介紹的Spring Boot容器加載時(shí)執(zhí)行特定操作,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Java動(dòng)態(tài)代理分析及簡(jiǎn)單實(shí)例
這篇文章主要介紹了 Java動(dòng)態(tài)代理分析及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02java 實(shí)現(xiàn)將一個(gè)string保存到txt文檔中
今天小編就為大家分享一篇java 實(shí)現(xiàn)將一個(gè)string保存到txt文檔中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Java如何基于okhttp請(qǐng)求SSE接口流式返回詳解
對(duì)于流式返回,Spring Boot提供了兩種不同的方式,下面這篇文章主要給大家介紹了關(guān)于Java如何基于okhttp請(qǐng)求SSE接口流式返回的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03解決idea中@Data標(biāo)簽getset不起作用的問題
這篇文章主要介紹了解決idea中@Data標(biāo)簽getset不起作用的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02SpringBoot整合Minio實(shí)現(xiàn)圖片上傳功能
Minio是一款開源的對(duì)象存儲(chǔ)服務(wù)器,它提供了一個(gè)云原生的、高性能的、易于擴(kuò)展的文件系統(tǒng)接口,用于存儲(chǔ)和檢索任意大小的數(shù)據(jù),本文將給大家介紹SpringBoot整合Minio實(shí)現(xiàn)圖片上傳功能,需要的朋友可以參考下2024-08-08springMVC獲取請(qǐng)求參數(shù)的幾種方式匯總
在日常使用SpringMVC進(jìn)行開發(fā)的時(shí)候,有可能遇到前端各種類型的請(qǐng)求參數(shù),這里做一次相對(duì)全面的總結(jié),下面這篇文章主要給大家介紹了關(guān)于springMVC獲取請(qǐng)求參數(shù)的幾種方式,需要的朋友可以參考下2022-04-04java使用MulticastSocket實(shí)現(xiàn)組播
這篇文章主要為大家詳細(xì)介紹了java使用MulticastSocket實(shí)現(xiàn)組播,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01SpringBoot實(shí)現(xiàn)EMQ設(shè)備的上下線告警
EMQX?的上下線系統(tǒng)消息通知功能在客戶端連接成功或者客戶端斷開連接,需要實(shí)現(xiàn)設(shè)備的上下線狀態(tài)監(jiān)控,所以本文給大家介紹了如何通過(guò)SpringBoot實(shí)現(xiàn)EMQ設(shè)備的上下線告警,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-10-10java線程池ThreadPoolExecutor的八種拒絕策略示例詳解
ThreadPoolExecutor是一個(gè)典型的緩存池化設(shè)計(jì)的產(chǎn)物,因?yàn)槌刈佑写笮?當(dāng)池子體積不夠承載時(shí),就涉及到拒絕策略。JDK中已預(yù)設(shè)了?4?種線程池拒絕策略,下面結(jié)合場(chǎng)景詳細(xì)聊聊這些策略的使用場(chǎng)景以及還能擴(kuò)展哪些拒絕策略2021-11-11