在使用SpringBoot框架时,可能遇到给自定义的工具类的静态成员变量赋值,此时spring又不支持直接给静态变量赋值,在网上查了许多,发现其思想为通过赋值给非静态类的非静态方法赋值,同时利用静态方法成员变量的get或有参构造函数等进行调用赋值。(转换赋值)如:
public class methodTest{
private static String value;
public void setValueInfo(Test test){
methodTest.value = test.getvalue();
}
}
@Configuration
public class Test{
@value("${value}")
private String value;
@PostConstruct
public void init(){
methodTest.setValueInfo(this);
}
}
说明:通过普通类进行加载配置文件属性,在使用init方法调用目标类的获取属性方法,将获取到得配置文件属性赋值给目标类静态变量。
第二种:常用的使用变量的set方法
@Component
… {
priate static String value;
@Value(“${value}”)
public void setValue(String str){
value = str
}
}