java - 通过 yaml 嵌套配置 - spring boot

标签 java spring spring-boot

下面是我的 yaml 配置。

configuration:
  internalUser:
    add:
      city:            
        path: path
        name: cityName

      country:            
        path: path
        name: countryName
                  
    replace:
      city:                       
        path: path
        name: cityName
    remove:
      city:                       
        path: path
        name: cityName
  externalUser:
    add:
      city:            
        path: path
        name: cityName

      country:            
        path: path
        name: countryName
                  
    replace:
      city:                       
        path: path
        name: cityName
    remove:
      city:                       
        path: path
        name: cityName

    

配置类如下所示:

@ConfigurationProperties(prefix = "configuration")
public class Configuration {

    private Map<String, Map<String,Map<String>,Address>>> internalUser = new HashMap<>();
     //setter and getter
}

Public class Address{
       private String path;
       private String name;
       //setter and getter
    }

加载应用程序时失败并且无法转换对象。

我的配置有问题吗?或者我们可以使用嵌套配置来进行此配置吗? 请帮我配置。

最佳答案

你的 map 太多了。您只需要两张 map 。

第一个 map 键:添加、替换、删除

第二个 map 键:城市

@ConfigurationProperties(prefix = "configuration")
public class Configuration {

    private Map<String, Map<String, Address>>> internalUser;
    private Map<String, Map<String, Address>>> externalUser;
     //setter and getter
}

关于java - 通过 yaml 嵌套配置 - spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63672803/

相关文章:

Java Web 应用程序无法连接远程 Tomcat 8 服务器上的数据库

java - 使用 spring、eclipse 和 pluto 调试 JSR 168 Portlet

java - 在eclipse上安装EGit会出现问题

java快速旋转缓冲图像

java - JPanel 中的组件仅在调整大小后显示

Java 无法识别命令行设置的类路径

java - Spring MVC 和 JUnit : Failed to load ApplicationContext

java - 在多模块 Maven 项目中使用的最佳方法?

java - Spring Boot 忽略来自外部 application.properties 的日志记录级别

spring-boot - 如何在Cordapp中对服务和 Controller (kotlin)进行单元测试?