SpringBoot靜態工具類注入配置文件變量
靜態變量
修改前
private static final String baseIp = "http://192.168.0.30:8080";
修改後–動態注入
private static String baseIp;
//設置setter方法
@Value("${service.ip}")
public void setBaseIp(String baseIp) {
OARequestUtils.baseIp = baseIp;
//OARequestUtils 是這個類的類名
}
靜態初始塊
修改前
static {
System.out.println(baseIp);
}
修改後
這樣可以起到靜態初始塊的作用
@PostConstruct
private void init(){
System.out.println(baseIp);
// 輸出配置文件裏面的service.ip 的值
}
注意事項
- 變量不能被
final
修飾 setter
方法不能是 靜態方法(即不能帶有static
關鍵詞)。因爲靜態變量由 IDE 生成的setter
方法一般是帶有static
的,所以記得將static
關鍵詞刪除