@Value()注解
- 针对某一个属性值的,即你需要在属性中指定这个变量对应的具体哪个配置则会将port值绑定为配置文件中的spring.redis.port
1
2@Value(${spring.redis.port})
private String port; - 如果需要动态配置,则还需要加上@RefreshScope()注解
- 支持SPEL表达式,即还可以对配置文件中的值进行计算再绑定
- 不支持数据校验
- 不支持复杂类型(List,Map)的绑定
@ConfigProperties()注解
- 支持同时绑定多个使用,在prefix属性中指定前缀则会自动去绑定配置文件中的
1
2
3
4
5
6
7
8
9
10
11
12@ConfigurationProperties(prefix = "doutao.thread")
// @Component
@Data
public class ThreadPoolConfigProperties {
private Integer coreSize;
private Integer maxSize;
private Integer keepAliveTime;
}
- doutao.thread.coreSize
- doutao.thread.maxSize
- doutao.thread.keepAliveTime
- 原生地支持动态配置
- 不支持SPEL表达式
- 支持数据校验
1
2
3
4
5
6
7
8
9
10
11
12@ConfigurationProperties(prefix = "doutao.thread")
// @Component
@Data
public class ThreadPoolConfigProperties {
@Max(value = 50, message="最大值不能超过50")
private Integer coreSize;
private Integer maxSize;
private Integer keepAliveTime;
} - 支持复杂数据类型(List,Map)