转自:
在Spring Boot中如何使用@ConfigurationProperties绑定配置参数呢?
下文笔者讲述springboot中使用@ConfigurationProperties绑定配置参数的方法分享,如下u宋史
我们都知道
属性绑定,我们通常使用@Value("${property}") 注解进行绑定,
但是当属性出现分层的现象,则编写比较繁琐
针对这个现象SpringBoot引入@ConfigurationProperties注解
例:
@Data
@ConfigurationProperties("java.service")
public class MyProperties {
//get set代码省略
private boolean enabled = true;
private InetAddress remoteAddress;
private final Security security = new Security();
@Data
public static class Security {
private String username;
private String password;
// 如果这个属性配置的话,默认是“USER”
private List<String> roles = new ArrayList<>(Collections.singleton("USER"));
}
}
在配置文件中进行如下配置:
java:
service:
enabled: true
remoteAddress: 127.0.0.1
security:
username: java265user
password: password
roles:
- role1
- role2
@ConfigurationProperties重要属性说明
@ConfigurationProperties( value = "java.service",
ignoreInvalidFields = false,
ignoreUnknownFields = false)
ignoreInvalidFields:
是否忽略非法值,如将一个字符串 "test"赋值给 bool 值,不忽略的话会报启动异常。
ignoreUnknownFields:
对于多余的配置是否会报异常
|