在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: 对于多余的配置是否会报异常
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。