在使用@Configuratiwww.devze.comonProperties读取配置文件(application.yml或application.properties)时无法获取到配置文件的值。
原代码:
@Component @ConfigurationProperties(prefix = "aichatting") public clasphps 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 AIChat编程客栈tingConfig { //资源映射路径 private static Strineupmtkzg 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失效的问题解决的文章就介绍到这了,更多相关javapython @ConfigurationProperties失效内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论