1. 程式人生 > >首篇--spring使用@value注入靜態變數

首篇--spring使用@value注入靜態變數

大家平時使用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 TestString aaa){
        this.aaa=aaa;
    }
}

spring的配置檔案中寫法:

<bean class="x.x.x.Test">
     <constructor-arg name="aaa" value="${AAA}"></constructor
-arg> </bean>

第一次寫部落格,希望能夠幫助大家!