java工具類static靜態方法讀取yml配置
當我們需要在工具類中獲取yml配置的時候,由于變量是staic導致獲取不到yml配置
因為spring加載靜態方法比IOC早,所以不能直接使用@Value注解讀取yml配置,讀取結果是null。

@Component public class TestUtil { // 使用@Value注解讀取yml配置的數據 @Value("${test.url}") private String urlVlue; // 設置靜態成員變量用來接收@Value注入的值 private static String url; // 使用@PostConstruct注解用于靜態變量賦值。 @PostConstruct public void setUrl() { url=this.urlVlue; } // 測試方法靜態變量是否被賦值 public static String testDemo() { return url; } }
測試獲取值
@RestController public class GiteeLogin { @GetMapping("/testUtil") public String testUtil(){ return TestUtil.testDemo(); } }
這樣就可以獲取到了

now ,fight for future

浙公網安備 33010602011771號