栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用@ConfigurationProperties注解获取为null的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用@ConfigurationProperties注解获取为null的问题

目录

一、问题描述二、解决过程

过程一过程二过程三(成功解决!) 三、总结

一、问题描述

通过get方法去取值一直为null。代码如下:

@Component
@ConfigurationProperties(prefix = "file")
public class ServiceConfig {

    
    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文件就失效了

于是引入之后并没有效果!!!


     org.springframework.boot
     spring-boot-configuration-processor
     true

过程二

不要在application.yml/properties文件中使用camel大小写。尽量用-分割。
我看了一下原生框架的配置,发现人家确实没大小写,于是改了仍然没有用。

过程三(成功解决!)

因为想的是直接获取属性,所以都是设置的static,包括set方法。于是set方法去除掉static后 成功解决。

三、总结

set方法被static 修饰无法获取到值!!!

不过尽量咱们也规范点不要在application当中区分大小写,尽量用- 。
用横杠的话,其实在java文件当中,他是会自动转换的。

我最终改成了这样,发现在java文件当中的winUploadPath属性照样可以读到值。

file:
  win-upload-path: D:/opt/tongue/uploadPath

还有要注意的就是一定要有get、set方法,没有貌似也读不了值的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号