解读@ConfigurationProperties使用时的几个常见误区

 更新时间:2024年10月31日 11:55:53   作者:有时候我也会  
在Spring Boot中,@ConfigurationProperties注解用于绑定配置文件中的属性到Java对象,它支持properties和yml文件格式,并且可以通过prefix属性指定配置属性的前缀,需要注意的是,@PropertySource注解默认只支持properties文件,不支持yml文件

@ConfigurationProperties使用时几个常见误区

1、@ConfigurationProperties可以读取properties文件

但不可以读取yml或者yaml文件(可以读取application.yaml/yml)

2、使用@ConfigurationProperties(prefix=“demo”)

结合@PropertySource指定文件名为xxx.properties时,如果application.properties/yaml/yml配置文件里存在以demo为前缀的字段,并且字段相匹配,

读取到的数据将会是application.properties/yaml/yml文件中的,此时指定xxx.properties无效;

并且application.properties优先级高于application.yaml/yml

3、@ConfigurationProperties(prefix=“demoAbc”)

不论是properties/yaml/yml哪种文件,prefix都不能以驼峰形式命名,否则会报错,找不到该前缀,全小写形式就可以

4、使用@ConfigurationProperties时

必须使用lombok的@Data注解,或者自己手动加入字段的set、get 方法,

否则获取到的值全为null,该注解没有通过@Value来显式读取数据,底层可能通过set、get方法来获取值。

5、@ConfigurationProperties作用的类

限定prefix=demo时,如果配置文件中没有demo.xxxa,而该类中定义了字段String xxxa时,默认该字段为null,不会报错;

就算找不到匹配的prefix,也会默认将所有字段置为null

6、@ConfigurationProperties的ignoreUnknownFields 属性默认=true的

如果为false,当配置文件中有字段demo.xxxb,而类中没有xxxb字段时,将会报错。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JPA 查询原生SQL转换VO对象方式

    JPA 查询原生SQL转换VO对象方式

    这篇文章主要介绍了JPA 查询原生SQL转换VO对象方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java结合redis实现接口防重复提交

    Java结合redis实现接口防重复提交

    本文主要介绍了Java结合redis实现接口防重复提交,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • JSP 开发之hibernate的hql查询多对多查询

    JSP 开发之hibernate的hql查询多对多查询

    这篇文章主要介绍了JSP 开发之hibernate的hql查询多对多查询的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Java正则匹配中文的方法实例分析

    Java正则匹配中文的方法实例分析

    这篇文章主要介绍了Java正则匹配中文的方法,结合实例形式分析了Java针对中文、标点及引号等匹配操作相关技巧,需要的朋友可以参考下
    2017-03-03
  • MybatisPlus更新时部分失败的问题解决

    MybatisPlus更新时部分失败的问题解决

    这篇文章主要为大家详细介绍了MybatisPlus更新时部分失败的问题分析和解决方法,文中的代码示例讲解的非常详细,需要的朋友可以参考下
    2023-06-06
  • Java中synchronized的几种使用方法

    Java中synchronized的几种使用方法

    本文主要介绍了Java中synchronized的几种使用方法,synchronized可用于修饰普通方法、静态方法和代码块,下面详细内容介绍,需要的小伙伴可以参考一下
    2022-05-05
  • 详解Java8新特性如何防止空指针异常

    详解Java8新特性如何防止空指针异常

    要说 Java 编程中哪个异常是你印象最深刻的,那 NullPointerException 空指针可以说是臭名昭著的,不要说初级程序员会碰到, 即使是中级,专家级程序员稍不留神,就会掉入这个坑里,本文就和大家聊聊Java8新特性如何防止空指针异常
    2023-08-08
  • SpringBoot异步与事务一起使用的问题解决

    SpringBoot异步与事务一起使用的问题解决

    本文主要介绍了SpringBoot异步与事务一起使用的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • IDEA报错之前言中不允许有内容问题及解决

    IDEA报错之前言中不允许有内容问题及解决

    当使用IntelliJ IDEA时,可能会遇到报错信息“前言中不允许有内容”,这通常是由于XML文件是以带有BOM头的UTF-8格式保存的,导致IDE的解析出错,解决办法是在IDEA中调整文件编码设置为无BOM的UTF-8,然后用文本编辑器(如Notepad++)
    2024-10-10
  • Java二分法查找_动力节点Java学院整理

    Java二分法查找_动力节点Java学院整理

    这篇文章主要介绍了Java二分法查找的相关资料,需要的朋友可以参考下
    2017-04-04

最新评论