springboot?@PostConstruct無效的解決
springboot @PostConstruct無效
springboot 1.5.18,jdk9
@PostConstruct的方法并不執(zhí)行,原因是jdk8以上的jdk使用了新的module系統(tǒng),javax.annotation默認不可見。
解決辦法
1.用jdk1.8
2.使用springboot 2.x
3.POM添加javax.annotation:javax.annotation-api依賴
spring @PostConstruct的踩坑
在springboot程序啟動過程中出現(xiàn)一個問題
代碼中有一個需要在spring容器啟動之后就執(zhí)行的方法。
于是就用@POstConstrut 注解在方法上,本地IDE啟動是正常運行的,在使用jenkins部署過程中,一個SpringContentHondler實現(xiàn)ApplicationContextAware的類 里面有靜態(tài)方法獲取spring容器里面的bean。?
在啟動后調用方法發(fā)現(xiàn)SpringContentHondler里面的application 變量沒有賦值 為NULL ,報了一個空指針。?
疑點在于本地啟動是正常,jenkins啟動就有問題。
后來使用spring boot里面提供給的commandrunLister接口。
他會在spring容器bean都裝配好后,各個初始化都完畢后,再調用我們自定義的方法(可以正常使用@auto注入)這樣就不會錯了
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java使用apache commons連接ftp修改ftp文件名失敗原因
這篇文章主要介紹了java使用apache commons連接ftp修改ftp文件名失敗原因解析,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08詳解Spring Kafka中關于Kafka的配置參數(shù)
這篇文章主要介紹了詳解Spring Kafka中關于Kafka的配置參數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08理解Java注解及Spring的@Autowired是如何實現(xiàn)的
今天通過本文帶領大家學習注解的基礎知識,學習Spring的@Autowired是怎么實現(xiàn)的,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-07-07詳解Java如何優(yōu)雅的調用dubbo同時不使用其它jar包
這篇文章主要介紹了如何在不使用他人jar包的情況下優(yōu)雅的進行dubbo調用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-02-02