具有不同键的 Spring Boot 应用程序属性[重复]

Posted

技术标签:

【中文标题】具有不同键的 Spring Boot 应用程序属性[重复]【英文标题】:Spring boot application properties with different keys [duplicate] 【发布时间】:2019-02-01 15:49:56 【问题描述】:

我如何定义一个对象来按键读取我的 application.mysql-databases:

swaw:
  stage: dev
  ip: x.x.x.x
  port: 3306
  databases:
    mysql:
      url: "jdbc:mysql://...."
      password:
        dba: AAA
        read: BBB
    mssql:
      url: "jdbc:mssql://...."
      password:
        dba: CCC
        read: DDD
    informix:
       ....

我尝试使用这个对象:

@ConfigurationProperties(prefix = "swaw.databases")
public class Databases 

    private Map<String, DatabasesConfig> map;

    public static class DatabasesConfig 

        private String url;
        private Password password;
        //GETTER AND SETTER

我得到每个请求:"ip":"1x.x.x.x","port":"3306","databases":null

【问题讨论】:

【参考方案1】:

@emoleumassi - 试试这个:

 @ConfigurationProperties(prefix = "databases")
    public class Databases      

            private String url;
            private Password password;
            //GETTER AND SETTER
    

【讨论】:

以上是关于具有不同键的 Spring Boot 应用程序属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Spring Boot 在 DynamoDB 中添加具有自动增量键的新项目

具有 Spring Boot 属性的 Spring Config Server

具有多个数据源 Oracle 和 H2 的 Spring Boot

在两个不同端口上具有两个服务的 Spring Boot 应用程序

Spring Security 具有不同用户详细信息的多个 HTTPSecurity 服务在 Spring Boot 中不起作用

具有 Liquibase 重载属性的 Spring-boot