使用@ConfigurationProperties注解获取为null的解决方法

 更新时间:2024年09月30日 10:14:48   作者:怪 咖@  
在SpringBoot中,当想需要获取到配置文件数据时,除了可以用 Spring 自带的@Value注解外,SpringBoot还提供了一种更加方便的方式:@ConfigurationProperties,但我们在通过通过get方法去取值一直为null,本文介绍了使用@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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java文件分级目录打包下载zip的实例代码

    Java文件分级目录打包下载zip的实例代码

    这篇文章主要介绍了Java文件分级目录打包下载zip的实例代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • java获取网络类型的方法

    java获取网络类型的方法

    这篇文章主要介绍了java获取网络类型的方法,涉及java针对网络类型的参数获取及判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • 详解Java是如何通过接口来创建代理并进行http请求

    详解Java是如何通过接口来创建代理并进行http请求

    今天给大家带来的知识是关于Java的,文章围绕Java是如何通过接口来创建代理并进行http请求展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • SpringBoot多线程进行异步请求的处理方式

    SpringBoot多线程进行异步请求的处理方式

    这篇文章主要介绍了SpringBoot多线程进行异步请求的处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐
    2021-12-12
  • Hadoop+HBase+ZooKeeper分布式集群环境搭建步骤

    Hadoop+HBase+ZooKeeper分布式集群环境搭建步骤

    这篇文章主要介绍了Hadoop+HBase+ZooKeeper分布式集群环境搭建,集群环境至少需要3个节点,1个Master,2个Slave,节点之间局域网连接,可以相互ping通,本文通过实例给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • HTTP 415错误-Unsupported media type详解

    HTTP 415错误-Unsupported media type详解

    这篇文章主要介绍了HTTP 415错误-Unsupported media type详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • SpringBoot Pom文件依赖及Starter启动器详细介绍

    SpringBoot Pom文件依赖及Starter启动器详细介绍

    这篇文章主要介绍了SpringBoot Pom文件的依赖与starter启动器的作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • 详解Java JDK动态代理

    详解Java JDK动态代理

    这篇文章主要介绍了Java JDK动态代理的相关资料,帮助大家更好的理解和学习Java 代理的有关知识,感兴趣的朋友可以了解下
    2020-08-08
  • Java dom4j创建解析xml文档过程解析

    Java dom4j创建解析xml文档过程解析

    这篇文章主要介绍了Java dom4j创建解析xml文档过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java 使用POI生成带联动下拉框的excel表格实例代码

    Java 使用POI生成带联动下拉框的excel表格实例代码

    本文通过实例代码给大家分享Java 使用POI生成带联动下拉框的excel表格,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09

最新评论