java工具类static静态方法读取yml配置过程
更新时间:2024年11月18日 08:39:30 作者: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();
}
}
这样就可以获取到了


总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
OutOfMemoryError内存不足和StackOverflowError堆栈溢出示例详解
这篇文章主要为大家介绍了OutOfMemoryError内存不足和StackOverflowError堆栈溢出示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09
SpringCloud Gateway的基本入门和注意点详解
这篇文章主要介绍了SpringCloud Gateway的基本入门和注意点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
Springboot 2.6集成redis maven报错的坑记录
这篇文章主要介绍了Springboot 2.6集成redis maven报错的坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04
springboot调用webservice-soap接口的实现
接口协议目前广泛使用的有http协议和RPC协议和webservice,本文主要介绍了springboot调用webservice-soap接口的实现,具有一定的参考价值,感兴趣的可以了解一下2024-03-03
Spring Cloud 系列之负载均衡 Ribbon的示例代码
Ribbon 是 Netflix 发布的负载均衡器,它有助于控制 HTTP 和 TCP 客户端的行为。这篇文章主要介绍了Spring Cloud 系列之负载均衡 Ribbon的示例代码,需要的朋友可以参考下2020-11-11


最新评论