@Value获取值和@ConfigurationProperties得区别
两个注解的作用是一样的。如下:
@ConfigurationProperties:将配置文件中配置的每一个属性的值,映射到这个组件中
@ConfigurationProperties(prefix = “spring.http.encoding”) //从配置文件中获取指定的值和bean的属性进行绑定
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
prefix = “person”:配置文件中哪个下面的所有属性进行一一映射
只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;
在前边加上注解@component。
3、@Value 他的作用和@ConfigurationProperties的作用是一样的。只是用法不同,需要一个个的指定。
@ConfigurationProperties | @Value | |
---|---|---|
功能 | 批量注入配置文件中的属性 | 一个个指定 |
松散绑定(松散语法) | 支持 | 不支持 |
SpEL | 不支持 | 支持 |
JSR303数据校验 | 支持 | 不支持 |
复杂类型封装 | 支持 | 不支持 |
代码举例我这个有点乱,就不展示了…