使用Springboot @Value配置时遇到几个不生效的问题
在开发项目时,把一些可能变化的东西,尽量搞成配置文件。这样以后有变化时,改一下配置就可以,不用开发人员重新编译。
使用Springboot的@Value, 常规配置方法是这样:
@Compent
public class TestA{
@Value("${MY_URL}")
private String myUrl;
}
在开发当中,如果按上面方式,遇到下面情况会不生效:
1、静态变量
不能像常规那样使用,要使用set方法,例如:
@Compent
public class TestA{
private static String myUrl;
@Value("${MY_URL}")
public void setMyUrl(String url){
myUrl = url;
}
}
2、构造函数
@Compent
public class TestA{
public TestA(@Value("${MY_URL}") String myUrl){
}
}