大家平时使用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>
第一次写博客,希望能够帮助大家!