@ConfigurationProperties和@Value的区别

Posted -qilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@ConfigurationProperties和@Value的区别相关的知识,希望对你有一定的参考价值。

            @ConfigurationProperties                        @Value

功能:         批量注入配置文件中的属性                  一个个指定,多个属性多个@Value

松散绑定:          支持                               不支持

SpEL:            不支持                                 支持

JSR303校验:         支持                               不支持

复杂类型封装:(比如map)    支持                               不支持     

 

松散绑定的意思就是语法严格和松散的区别,比如属性名为lastName;使用@ConfigurationProperties注解可以松散点,比如在配置文件写last_name;lastName;last_name等都是可行的,而使用@Value则必须是lastName;  

JsR303校验可以使用@Validated来试验。

以上是关于@ConfigurationProperties和@Value的区别的主要内容,如果未能解决你的问题,请参考以下文章

@ConfigurationProperties注解和@Value注解的区别

@ConfigurationProperties和@Value的区别

ConfigurationProperties和EnableConfigurationProperties

ConfigurationProperties和EnableConfigurationProperties

@ConfigurationProperties

如何保护@ConfigurationProperties 类免受更改?