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

上一篇:java8函数式编程


下一篇:redis全面解析