java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java工具类static静态方法读取yml配置

java工具类static静态方法读取yml配置过程

作者:ekkcole

文章介绍了在工具类中获取YAML配置时遇到的问题,由于变量是静态的,而Spring加载静态方法比IOC容器早,导致无法直接使用@Value注解读取YAML配置,从而读取结果为null

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();
    }
}

这样就可以获取到了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文