当我们需要在工具类中获取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(); } }
这样就可以获取到了
标签:java,读取,Value,yml,static,静态方法,public,String From: https://www.cnblogs.com/wffzk/p/18559944