@Value不能給靜態變量直接賦值問題


1. 平時用的時候,直接在變量頭上加上@Value就能到值(其中path.url是配置文件properties的。)。

@Value("${path.url}")
private String url;

2. 但是當url被static修飾之后,就賦不了值。

@Value("${path.url}")
private static String url;

這里是因為Spring Boot 不允許/不支持把值注入到靜態變量中,但是也給出了解決的方案。

3.把@Value("${path.url}")放在靜態變量的set方法上面即可,需要注意的是set方法要去掉static,有些朋友習慣性的快捷鍵生成set方法而沒有去掉static,導致還是賦值失敗。還有就是當前類要交給spring來管理。

private static String url;

// 記得去掉static
@Value("${mysql.url}")
public void setDriver(String url) {
     JdbcUtils.url= url;
}

 

美好生活來源於點點滴滴的記錄。

 


免責聲明!

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



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