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注解用于静态变量赋值。@PostConstructpublic void setUrl() {url=this.urlVlue;}// 测试方法静态变量是否被赋值public static String testDemo() {return url;}
}
@RestController
public class GiteeLogin {@GetMapping("/testUtil")public String testUtil(){return TestUtil.testDemo();}
}
这样就可以获取到了