java - Spring Boot 将 yaml 列表加载为 map

标签 java spring spring-boot yaml

我有一个像这样的 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/

相关文章:

从应用程序到java服务器的Java Socket连接

Java - 从主方法中的另一个方法访问变量

spring - 在 @SpringBootApplication 外部执行 CommandLineRunner

带有加密 JWT 访问 token 的 Spring Boot OAuth2

java - 从Android中的辅助线程调用主线程

java - 在成员访问和函数调用上定义切入点

spring - spring-security-oauth2-client 和 spring-security-oauth 之间有什么关系?

java - MyBatis Spring 与 Jetty 集成,Map Config XML 配置未找到

java - Spring 。将 pdf 保存到磁盘位置

java - 表名是什么?