SpringBoot使用@Value从yml文件取值为空–注入静态变量
- yml文件中的内容
ping:
request:
url: http://www.baidu.com/abbplat?mach=
- 通过@Value获取值
@Component
public class Properties {
@Value("${ping.request.url}")
private static String requestUrl;
}
- 启动项目调用,获取到的值是null。
- 发现是static导致,解决方法:
@Component
public class Properties {
private static String requestUrl;
@Value("${ping.request.url}")
public void setRequestUrl(String requestUrl) {
Properties.requestUrl = requestUrl;
}
public static String getRequestUrl() {
return requestUrl;
}
}
获取该值,可以使用Properties.getRequestUrl()
获取即可。
注:使用注解的方式,不过注解写在非static的方法上(Spring的注解不支持静态的变量和方法)。
转发:https://blog.csdn.net/u010596545/article/details/80355389