有了这个类Spring:如何向静态字段注入值?
@Component
public class Sample {
@Value("${my.name}")
public static String name;
}
如果我尝试Sample.name
,它始终是 '空'。所以我尝试了这个。
public class Sample {
public static String name;
@PostConstruct
public void init(){
name = privateName;
}
@Value("${my.name}")
private String privateName;
public String getPrivateName() {
return privateName;
}
public void setPrivateName(String privateName) {
this.privateName = privateName;
}
}
此代码有效。 Sample.name
设置正确。这是不是好方法?如果没有,有没有更好的方法?以及如何做到这一点?
这不会解决;如果在创建对象之前使用静态变量。例如)如果在静态块下使用静态变量来构建资源,则资源将被构造为空值。 –