其他分享
首页 > 其他分享> > Spring中静态变量根据@Value获取不到值

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