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

缺乏、安全感 2024-04-08 12:31 97阅读 0赞

当我们需要在工具类中获取yml配置的时候,由于变量是staic导致获取不到yml配置
因为spring加载静态方法比IOC早,所以不能直接使用@Value注解读取yml配置,读取结果是null。

  1. @Component
  2. public class TestUtil {
  3. // 使用@Value注解读取yml配置的数据
  4. @Value("${test.url}")
  5. private String urlVlue;
  6. // 设置静态成员变量用来接收@Value注入的值
  7. private static String url;
  8. // 使用@PostConstruct注解用于静态变量赋值。
  9. @PostConstruct
  10. public void setUrl() {
  11. url=this.urlVlue;
  12. }
  13. // 测试方法静态变量是否被赋值
  14. public static String testDemo() {
  15. return url;
  16. }
  17. }
  18. @RestController
  19. public class GiteeLogin {
  20. @GetMapping("/testUtil")
  21. public String testUtil(){
  22. return TestUtil.testDemo();
  23. }
  24. }

这样就可以获取到了
在这里插入图片描述

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,97人围观)

还没有评论,来说两句吧...

相关阅读

    相关 static class 静态Java

    一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。 在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可