@ConfigurationProperties使用及与@Value对比
作者:互联网
@ConfigurationProperties使用及与@Value对比
https://blog.csdn.net/y368769/article/details/107353709
两者区别
-
@ConfigurationProperties:可以将配置文件中的属性值批量注入到类的各个属性;
@Value:为类中的各个属性逐个赋值 -
@ConfigurationProperties支持松散绑定;@Value不支持
松散绑定:指的是配置文件中的命名规则 比如说: config.test.oldOne=HelloWord:对应的类的属性是oldOne config.test.old-one=HelloWord:对应的属性是oldOne config.test.old_one=HelloWord:对应的属性是oldOne config.test.OLD_ONE=HelloWord:系统推荐写法对应的属性是oldOne
- 1
- 2
- 3
- 4
- 5
- 6
-
@ConfigurationProperties支持@Validated;@Value不支持
-
@ConfigurationProperties不支持EL表达式;@Value支持
-
@ConfigurationProperties支持复杂类型;@Value不支持
配置文件:
类:
结果:
@ConfigurationProperties使用
在这里介绍两种使用方式
第一种:一般在配置环境的时候使用
配置文件:
对应类:
配置类:在这里有个@EnableConfigurationProperties注解,意思是让@ConfigurationProperties这个注解生效
在配置中debug看一下是否有数据:
第二种方式:一般通过注入来使用
配置文件:
对应类:只需要加一个能够被spring扫描到的注解就可以
写一个简单的controller用来测试
结果:
标签:HelloWord,oldOne,配置文件,Value,ConfigurationProperties,对比,属性 来源: https://www.cnblogs.com/sunny3158/p/16553917.html