springboot?@PostConstruct無(wú)效的解決
springboot @PostConstruct無(wú)效
springboot 1.5.18,jdk9
@PostConstruct的方法并不執(zhí)行,原因是jdk8以上的jdk使用了新的module系統(tǒng),javax.annotation默認(rèn)不可見(jiàn)。
解決辦法
1.用jdk1.8
2.使用springboot 2.x
3.POM添加javax.annotation:javax.annotation-api依賴
spring @PostConstruct的踩坑
在springboot程序啟動(dòng)過(guò)程中出現(xiàn)一個(gè)問(wèn)題
代碼中有一個(gè)需要在spring容器啟動(dòng)之后就執(zhí)行的方法。
于是就用@POstConstrut 注解在方法上,本地IDE啟動(dòng)是正常運(yùn)行的,在使用jenkins部署過(guò)程中,一個(gè)SpringContentHondler實(shí)現(xiàn)ApplicationContextAware的類 里面有靜態(tài)方法獲取spring容器里面的bean。?
在啟動(dòng)后調(diào)用方法發(fā)現(xiàn)SpringContentHondler里面的application 變量沒(méi)有賦值 為NULL ,報(bào)了一個(gè)空指針。?
疑點(diǎn)在于本地啟動(dòng)是正常,jenkins啟動(dòng)就有問(wèn)題。
后來(lái)使用spring boot里面提供給的commandrunLister接口。
他會(huì)在spring容器bean都裝配好后,各個(gè)初始化都完畢后,再調(diào)用我們自定義的方法(可以正常使用@auto注入)這樣就不會(huì)錯(cuò)了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot @PostConstruct原理用法解析
- SpringBoot @PostConstruct和@PreDestroy的使用說(shuō)明
- 淺談SpringBoot中的Bean初始化方法?@PostConstruct
- SpringBoot使用@PostConstruct注解導(dǎo)入配置方式
- SpringBoot中的@PostConstruct注解詳細(xì)解析
- springboot啟動(dòng)加載CommandLineRunner @PostConstruct問(wèn)題
- SpringBoot中@PostConstruct 注解的實(shí)現(xiàn)
- springboot中@PostConstruct注解使用小結(jié)
相關(guān)文章
Java web攔截器inteceptor原理及應(yīng)用詳解
這篇文章主要介紹了java web攔截器inteceptor原理及應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01java使用apache commons連接ftp修改ftp文件名失敗原因
這篇文章主要介紹了java使用apache commons連接ftp修改ftp文件名失敗原因解析,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08關(guān)于Java的對(duì)象序列化流和反序列化流詳細(xì)解讀
這篇文章主要介紹了關(guān)于Java的對(duì)象序列化流和反序列化流,對(duì)象序列化:就是將對(duì)象保存到磁盤(pán)中,或者在網(wǎng)絡(luò)中傳輸對(duì)象,反之,自己序列還可以從文件中讀取回來(lái),重構(gòu)對(duì)象,對(duì)它進(jìn)行反序列化,需要的朋友可以參考下2023-05-05詳解Spring Kafka中關(guān)于Kafka的配置參數(shù)
這篇文章主要介紹了詳解Spring Kafka中關(guān)于Kafka的配置參數(shù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08理解Java注解及Spring的@Autowired是如何實(shí)現(xiàn)的
今天通過(guò)本文帶領(lǐng)大家學(xué)習(xí)注解的基礎(chǔ)知識(shí),學(xué)習(xí)Spring的@Autowired是怎么實(shí)現(xiàn)的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07MyBatis不用@Param傳遞多個(gè)參數(shù)的操作
這篇文章主要介紹了MyBatis不用@Param傳遞多個(gè)參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02詳解Java如何優(yōu)雅的調(diào)用dubbo同時(shí)不使用其它jar包
這篇文章主要介紹了如何在不使用他人jar包的情況下優(yōu)雅的進(jìn)行dubbo調(diào)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02