@ConfigurationProperties注意点
-
@ConfigurationProperties 通过setter和构造器来设置field的值, 并且支持级联绑定属性
-
配置文件中的属性个数可以和pojo中的field个数不一样, 如果这样那么field就使用默认值或是初始值
-
要想使@ConfigurationProperties生效, 可以通过@Component, 或是在配置类上使用@EnableConfigurationProperties, 并且指定value来使properties文件的值自动注入到对应pojo的属性中(同时会将该pojo注入到ioc)
-
@ConfigurationProperties 不能与@EnableConfigurationProperties 一起标注在同一个类上
-
可以在@ConfigurationProperties标注的类上使用@Validated在来校验field的绑定
-
如果一个类标明了@ConfigurationProperties, 不会对内部类生效, 需要另外配置(因为内部类和外部类编译后是两不同的类)
-
@NestedConfigurationProperties没有任何实际功能, 用于表示@ConfigurationProperties标注的类中的field
不是一个单一的值, 常与有初始值的复杂对象一起出现
-
@ConfigurationProperties可以和@PropertySource一起使用, 这样就可以不用一个一个@Value