我有一个像这样的 yaml 文件
framework:
generalConfiguration:
cassandra:
fe:
seeds:
- fire201
- fire202
dc: DC
还有一颗 bean
public class ConfigurationBean{
private Map<String, Object> generalConfiguration;
public Map<String, Object> getGeneralConfiguration() {
return generalConfiguration;
}
public void setGeneralConfiguration(Map<String, Object> generalConfiguration) {
this.generalConfiguration = generalConfiguration;
}
bean 工厂方法
@Bean(name = "configurationDataHolder")
@ConfigurationProperties(prefix = "framework")
public ConfigurationBean configurationBean(){
return new ConfigurationBean();
}
我的问题是 Spring Boot 填充了 GeneralConfiguration Map,其中: fe 是一个带有键的 Map
seeds
dc
dc 是一个字符串值条目。 种子是这样的 map :
0 -> fire201
1 -> fire202
我希望种子作为列表填充。
知道如何做到这一点吗?
最佳答案
您的generalConfiguration
正在使用原始类型作为值,因此您不会向框架提供任何线索,因为它应该如何处理它。当您查看配置时,这对您来说可能是显而易见的,但我们通过一一浏览关系并采取最佳选项来处理配置。
您的对象
没有给出任何提示。在同一结构中混合简单值和映射也是一种味道。
关于java - Spring Boot 将 yaml 列表加载为 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32639010/