1. 程式人生 > >註解@Value取值取不到問題

註解@Value取值取不到問題

@Value取值取不到的幾種情況總結:

本部落格參考(http://blog.51cto.com/jtech/2114686)。

一、spring元件重寫構造方法,在構造方法中引用@Value為null
由於spring例項化順序為先執行構造方法,再注入成員變數,所以序為先執行構造方法,再注入成員變數,所以ing例項化順取值為null
解決辦法為:再寫一個常量類,在常量類中引用@value,再在構造方法中引用常量類的變數即可。
二,呼叫spring元件時使用new物件,而不是@Autowired(我碰到的問題)
在這裡插入圖片描述
使用物件來取得引數的時候,如果使用new建立物件,那麼將取值為null。
在這裡插入圖片描述

圖中註釋的建立物件的方法無法獲取值,必須使用@Autowired註解。

@Autowired
private BlogProperties blogProperties;

三,使用final或static修飾成員變數
四,spring mvc中引用@value為null
spring mvc是spring的子容器,需要在兩個配置檔案中都匯入配置檔案
<context:property-placeholder location=“classpath:jdbc.properties” ignore-unresolvable=“true”/>