配置文件application.yml中有一个数组配置如下:
food:
arr:
configs:
- index: 0
name: 萝卜
props: id,name,color,weight
propNames: 编号,名字,颜色,体重
- index: 1
name: 可乐
props: id,factory,size,date
propNames: 编号,生产厂家,型号,生产日期
从配置文件中读取数组
现在要在java代码中读取出“萝卜”和“可乐”的属性
首先写一个配置类,获取food.config
@EnableConfigurationProperties
@Configuration
@ConfigurationProperties(prefix = "food.arr")
public class FoodPropConfig {
private List<Map<String,String>> configs;
public List<Map<String, String>> getConfigs() {
return configs;
}
public void setConfigs(List<Map<String, String>> configs) {
this.configs = configs;
}
}
在代码中一次获取萝卜和可乐的属性:
@Autowired
FoodPropConfig foodPropConfig;
for (Map<String, String> temp : foodPropConfig.getConfigs()) {
String props = temp.get("props");
String propNames = temp.get("propNames");
}
完结。