1.原因分析
在后端开发当中我们可能会使用到工具类,而一般的工具类中的方法都是静态方法。而@Value注解只能给普通变量注入值,不能直接给静态变量赋值。
2.延伸
静态变量(即类变量)是一个类的属性,而不是对象的属性。spring依赖注入是基于对象层面上的。
static变量在对象创建前就分配过内存了,而spring的注入是在创建对象的时候注入的。
3.解决方法
set方法是非静态的。
private static String endpoint;
@Value("${}")
public void setEndpoint(String endpoint) {
= endpoint;
}