SpringBoot項(xiàng)目中通過@Value給參數(shù)賦值失敗的解決方案
項(xiàng)目場(chǎng)景:
springboot項(xiàng)目中通過@Value給屬性附值失敗
問題描述
給參數(shù)賦值失敗,打印為空值
@Value("${python.server.port}")
private int port;
@Value("${python.server.host}")
private String host;
public PythonSocketClient(){
System.out.println("Host: " + host);
System.out.println("Port: " + port);
connect();
}
測(cè)試發(fā)現(xiàn)是成功注入的
@SpringBootTest
public class ValueTest {
@Value("${python.server.host}")
private String host;
@Test
public void testConfiguration() {
System.out.println("Host configured as: " + host);
}
}可以看到是正確賦值了

原因分析:
這是因?yàn)樵?Spring Bean 的生命周期中,構(gòu)造函數(shù)是最先被調(diào)用的,此時(shí)依賴注入還沒有完成,因此 @Value 注入的字段尚未被初始化。
也就是說還沒附上值就運(yùn)行了構(gòu)造器
解決方案:
使用 @PostConstruct 注解的方法來確保在所有字段注入完成之后再執(zhí)行初始化邏輯。
@Value("${python.server.port}")
private int port;
@Value("${python.server.host}")
private String host;
@PostConstruct
public void init() {
System.out.println("Host: " + host);
System.out.println("Port: " + port);
connect();
}再次運(yùn)行

發(fā)現(xiàn)已經(jīng)可以正常獲取值了。
到此這篇關(guān)于SpringBoot項(xiàng)目中通過@Value給參數(shù)賦值失敗的解決方案的文章就介紹到這了,更多相關(guān)SpringBoot @Value賦值失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)
這篇文章主要介紹了關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Java的無參構(gòu)造函數(shù)用法實(shí)例分析
這篇文章主要介紹了Java的無參構(gòu)造函數(shù)用法,結(jié)合實(shí)例形式分析了java無參構(gòu)造函數(shù)基本原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-09-09
java volatile關(guān)鍵字使用方法及注意事項(xiàng)
這篇文章主要介紹了java volatile關(guān)鍵字使用方法及注意事項(xiàng)的相關(guān)資料,當(dāng)一個(gè)變量被聲明為 volatile 后,java 內(nèi)存模型確保所有使用該變量的線程能看到相同的、一致的值。,需要的朋友可以參考下2017-07-07
Java網(wǎng)絡(luò)編程之UDP實(shí)現(xiàn)原理解析
UDP實(shí)現(xiàn)通信非常簡單,沒有服務(wù)器,每個(gè)都是客戶端,每個(gè)客戶端都需要一個(gè)發(fā)送端口和一個(gè)接收端口,本文給大家介紹Java網(wǎng)絡(luò)編程之UDP實(shí)現(xiàn)原理解析,感興趣的朋友一起看看吧2021-09-09
java使用Dijkstra算法實(shí)現(xiàn)單源最短路徑
這篇文章主要為大家詳細(xì)介紹了java使用Dijkstra算法實(shí)現(xiàn)單源最短路徑,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
java web項(xiàng)目里ehcache.xml介紹
java web項(xiàng)目里ehcache.xml介紹,需要的朋友可以參考一下2013-03-03

