淺談spring ApplicationListener 監聽器的使用


 使用場景:在實際項目中,我們通常希望web應用程序啟動(這里指spring IOC容器加載bean)成功后,進行初始化工作,比如:數據庫的加載、特定任務的檢查等。

 

 

 實現過程:定義一個MyApplicationListener類,實現ApplicationListener<ApplicationEvent>接口。若是使用配置文件(springmvc.xml等)該類通常會被執行三次。為了解決這種問題,我定義了一個變量isStart,並默認初始值為false。

代碼如下:

@Controller
public class MyApplicationListener implements ApplicationListener<ApplicationEvent> {
//定義該變量主要是為了 防止業務代碼被執行三次,
private static boolean isStart = false;
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (!isStart) {
//特定任務的業務代碼
System.out.println("這里進行初始化工作------");
isStart = true;
}
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM