使用@ConfigurationProperties注解获取为null的解决方法
一、问题描述
通过get方法去取值一直为null。代码如下:
@Component
@ConfigurationProperties(prefix = "file")
public class ServiceConfig {
/**
* windows上传路径
*/
private static String winUploadPath;
public static String getWinUploadPath() {
return winUploadPath;
}
public static void setWinUploadPath(String winUploadPath) {
ServiceConfig.winUploadPath = winUploadPath;
}
}
application.yml配置:
file: winUploadPath: D:/opt/tongue/uploadPath
二、解决过程
过程一
刚开始一直ide弹这个框,以为是这个问题。

然后搜了资料,有的说下面依赖是生成配置元信息,不引入yml文件就失效了
于是引入之后并没有效果!!
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
过程二
不要在application.yml/properties文件中使用camel大小写。尽量用-分割。
我看了一下原生框架的配置,发现人家确实没大小写,于是改了仍然没有用。
过程三(成功解决!)
因为想的是直接获取属性,所以都是设置的static,包括set方法。于是set方法去除掉static后 成功解决。
三、总结
set方法被static 修饰无法获取到值!!!
不过尽量咱们也规范点不要在application当中区分大小写,尽量用- 。
用横杠的话,其实在java文件当中,他是会自动转换的。
我最终改成了这样,发现在java文件当中的winUploadPath属性照样可以读到值。
file: win-upload-path: D:/opt/tongue/uploadPath
到此这篇关于使用@ConfigurationProperties注解获取为null的解决方法的文章就介绍到这了,更多相关@ConfigurationProperties获取为null内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot集成分页插件PageHelper的配置和使用过程
这篇文章主要介绍了SpringBoot集成分页插件PageHelper的配置和使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-04-04
Java实现ftp文件上传下载解决慢中文乱码多个文件下载等问题
这篇文章主要介绍了Java实现ftp文件上传下载解决慢中文乱码多个文件下载等问题的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下2016-10-10
java基本教程之java线程等待与java唤醒线程 java多线程教程
这篇文章主要介绍了对线程等待/唤醒方法,文中使用了多个示例,大家参考使用吧2014-01-01


最新评论