Spring中静态变量根据@Value获取不到值
作者:互联网
一、场景
在application.yml
中配置了常量appKey
,想在一个工具类里面的静态方法使用,于是使用了静态变量。使用@Value
注解获取值,如下:
@Value("${appKey}")
private static String appKey;
发现获取不到,为null
。
二、解决方法
原因: 因为@Value
是依赖属性的set方法注入值的,static修饰的属性没有set方法,不能够注入。
解决:
private static String appKey;
@Value("${appKey}")
public void setAppKey(String appKey) {
this.appKey= appKey;
}
同时,工具类还需要交给spring管理,在类上添加注解@Component
。
标签:appKey,set,String,静态,Spring,Value,static,private 来源: https://blog.csdn.net/yangguang_98/article/details/122822376