ConfigurationProperties主要用來對格式化配置信息進行整理,將多個相關的配置信息整理到一個類里,這個類可以被@ConfigurationProperties修飾,如果希望它啟用,需要添加@Configuration這些注解,如果沒有添加@Configuration注解,那么在啟動類上添加@EnableConfigurationProperties注解也是一樣的,都是將你的@ConfigurationProperties配置加載到IOC容器里。
類型對象的注冊
下面有我的配置信息,一個復雜對象,並且它是集合對象
id-maker:
data-lists:
- data-id: data1
data-value: 0x0007000000000000
- data-id: data2
data-value: 0x004B000000000000L
下面是我的配置類
@Data
@Configuration
@ConfigurationProperties(prefix = "id-maker", ignoreUnknownFields = false)
public class IdMakerProperties {
/**
* 對應配置文件的節點名稱.
*/
public List<DataList> dataLists;
@Data
public static class DataList {
private String dataId;
private String dataValue;
}
}
在controller里使用它時,可以使用@Autowired進行注冊,這樣我們的集合對象就對加載進來了,如圖