首篇--spring使用@value注入靜態變數
阿新 • • 發佈:2018-12-27
大家平時使用spring的時候,可能會使用到配置類,進而有可能使用到靜態變數,需要從配置檔案中讀取值。下面是我自己的一點小小的總結,希望能夠幫助大家。
第一種,使用set方法注入(推薦)
對要使用的靜態變數生成set方法,然後去掉set方法中的static,在這個set方法上使用@value註解注入,例如:
class Test{
private static String aaa;
@value("${AAA}")
public void setAaa(String aaa){
this.aaa=aaa;
}
}
特別說明:一定要去掉set方法中的static。
第二種,使用配置檔案set方法注入
將需要注入的靜態變數所在類使用bean標籤,然後使用property標籤注入,例如:
class Test{
private static String aaa;
}
spring的配置檔案中寫法:
<bean class="x.x.x.Test">
<property name="aaa" ref="xxx"/>
</bean>
或者
<bean class="x.x.x.Test">
<property name="aaa" value="${AAA }"/>
</bean>
第三種,使用配置檔案構造方法注入
將需要注入的靜態變數所在類使用bean標籤,然後使用constructor-arg標籤注入,例如:
class Test{
private static String aaa;
public Test(String aaa){
this.aaa=aaa;
}
}
spring的配置檔案中寫法:
<bean class="x.x.x.Test">
<constructor-arg name="aaa" value="${AAA}"></constructor -arg>
</bean>
第一次寫部落格,希望能夠幫助大家!