@value取不到值,后来发现不能用static来修饰
原代码
@Value("${proxy.address.common:}")
private static String commonNetworkProxy;
改为如下可以取到值
@Value("${proxy.address.common:127.0.0.1}")
private String commonNetworkProxy;
总结
1.使用static或final修饰了tagValue,如下:
@Value("$tag}")
private static String tagValue; //错误
@Value("$tag}")
private final String tagValue; //错误
2.类没有加上@Component(或者@service等)
@Component //遗漏
class TestValue{
@Value("${tag}")
private String tagValue;
}
3.类被new新建了实例,而没有使用@Autowired
@Component
class TestValue{
@Value("${tag}")
private String tagValue;
}
class Test{
...
TestValue testValue = new TestValue()
}
正确方式: 上面这个testValue中肯定是取不到值的,必须使用
@Autowired:
class Test{
@AutoWired
TestValue testValue
}