开发者

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

目录
  • @ConfigurationProperties使用时几个常见误区
    • 1、@ConfigurationProperties可以读取properties文件
    • 2、使用@ConfigurationProperties(prefix=&lphpdphpquo;demo”)
    • 3、@ConfigurationProperties(prefix=“demoAbc”)
    • 4、使用@ConfigurationProperties时
    • 5、@ConfigurationProperties作用的类
    • 6、@ConfigurationProperties的ignoreUnknownFields 属性默认=true的
  • 总结

    @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方法来获取值。

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

    5、@ConfigurationProperties作用的类

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

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

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

    HHjaibwz

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

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

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜