Spring ApplicationListener配合-D實現參數初始化


ApplicationListener是SpringBoot的監聽器,提供了四種事件:
  • ApplicationStartedEvent :spring boot啟動開始時執行的事件
  • ApplicationEnvironmentPreparedEvent:spring boot 對應Enviroment已經准備完畢,但此時上下文context還沒有創建。
  • ApplicationPreparedEvent:spring boot上下文context創建完成,但此時spring中的bean是沒有完全加載完成的。
  • ApplicationFailedEvent:spring boot啟動異常時執行事件

因此,我們可以實現該接口,在系統啟動的時刻初始化我們自定義的參數。
 
案例場景:
項目中配置文件一般是外化的,spring boot使用yml文件,項目打包時不希望把yml文件打入jar包,而是在項目中指定yml所有目錄
該目錄地址和yml文件的名字,在系統啟動時,通過java -jar 項目jar包 -DXXXX 指定這些參數 (動態入參)
如果不指定,則使用默認路徑和文件名
 
**********************************
java -Dkey=value  :在虛擬機的系統屬性中設置屬性名/值對,運行在此虛擬機上的應用程序可用
System .getProperty("key")
得到value的值
 
 
參考:


免責聲明!

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



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