1. 首页
  2. 课程学习
  3. Java
  4. 解决java中@Value无法获取配置文件值和默认值加载问题

解决java中@Value无法获取配置文件值和默认值加载问题

上传者: 2023-11-19 05:45:07上传 TXT文件 188B 热度 63次

在开发过程中,我们创建了一个工具类,为第三方应用提供调用接口的功能。然而,在测试过程中,我们遇到了一个问题:使用@Value注解无法获取配置文件中的值,也无法加载默认值。具体而言,我们在配置文件中使用了如下方式进行配置: @Value("${login.url:/yuxuntoo/login}") private String loginUrl; 从配置文件中可以明确看出,注解和配置方式都是正确的。查看源码后,我们了解到@Value注解实际上是对类上的value后面的属性值进行解析,然后将解析的数据与配置文件中的数据进行比较。如果比较成功,通过反射将相关属性赋值。配置文件的数据在加载environment文件时已存储。关键代码位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean。解决思路从配置上来看,没有写错的可能性极大,因此我们需要从@Value无法获取配置文件内容的几种可能性着手。一种可能是变量被static关键字修饰,导致我们无法获得配置文件内容。

下载地址
用户评论