java中@ConfigurationProperties失效的问题解决
在使用@ConfigurationProperties读取配置文件(application.yml或application.properties)时无法获取到配置文件的值。
原代码:
@Component
@ConfigurationProperties(prefix = "aichatting")
public class AIChattingConfig
{
//资源映射路径
private static String profile;
//资源映射路径 前缀
public static final String RESOURCE_PREFIX = "/profile";
public static String getProfile()
{
return profile;
}
public void static setProfile(String profile)
{
AIChattingConfig.profile = profile;
}
}配置文件(application.yml):
aichatting: profile: D:/AI-Chatting/uploadPath
为了方便使用,我将配置类中的profile属性设置为static,如果读取成功的话执行AIChattingConfig.getProfile()就会返回为配置文件中的值(D:/AI-Chatting/uploadPath)
原因:@ConfigurationProperties无法识别静态方法,所以属性的setter需要为非静态
修改代码:
@Component
@ConfigurationProperties(prefix = "aichatting")
public class AIChattingConfig
{
//资源映射路径
private static String profile;
//资源映射路径 前缀
public static final String RESOURCE_PREFIX = "/profile";
public static String getProfile()
{
return profile;
}
//@ConfigurationProperties无法识别静态方法,所以setter需要为非静态
public void setProfile(String profile)
{
AIChattingConfig.profile = profile;
}
}到此这篇关于java中@ConfigurationProperties失效的问题解决的文章就介绍到这了,更多相关java @ConfigurationProperties失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Zookeeper中如何解决zookeeper.out文件输出位置问题
这篇文章主要介绍了Zookeeper中如何解决zookeeper.out文件输出位置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04
基于logback 实现springboot超级详细的日志配置
java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用)。这篇文章主要介绍了基于logback springboot超级详细的日志配置,需要的朋友可以参考下2019-06-06


最新评论