有了這個類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
設置正確。這是不是好方法?如果沒有,有沒有更好的方法?以及如何做到這一點?
這不會解決;如果在創建對象之前使用靜態變量。例如)如果在靜態塊下使用靜態變量來構建資源,則資源將被構造爲空值。 –