首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spring Boot -嵌套ConfigurationProperties

Spring Boot -嵌套ConfigurationProperties
EN

Stack Overflow用户
提问于 2015-04-12 16:51:54
回答 1查看 58.3K关注 0票数 58

Spring boot有很多很酷的功能。我最喜欢的是通过@ConfigurationProperties和相应的yml/properties文件实现的类型安全配置机制。我正在编写一个通过Datastax Java驱动程序配置Cassandra连接的库。我想让开发人员通过简单地编辑yml文件来配置ClusterSession对象。这在spring-boot中很容易实现。但我想允许她/他以这种方式配置多个连接。在PHP框架Symfony中,它很简单:

代码语言:javascript
复制
doctrine:
  dbal:
    default_connection: default
    connections:
      default:
        driver:   "%database_driver%"
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
      customer:
        driver:   "%database_driver2%"
        host:     "%database_host2%"
        port:     "%database_port2%"
        dbname:   "%database_name2%"
        user:     "%database_user2%"
        password: "%database_password2%"
        charset:  UTF8

(这段代码来自Symfony documentation)

是否可以在spring-boot中使用ConfigurationProperties?我应该嵌套它们吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-12 18:04:26

实际上,您可以使用类型安全的嵌套ConfigurationProperties

代码语言:javascript
复制
@ConfigurationProperties
public class DatabaseProperties {

    private Connection primaryConnection;

    private Connection backupConnection;

    // getter, setter ...

    public static class Connection {

        private String host;

        // getter, setter ...

    }

}

现在,您可以设置属性primaryConnection.host

如果你不想使用内部类,那么你可以用@NestedConfigurationProperty注释这些字段。

代码语言:javascript
复制
@ConfigurationProperties
public class DatabaseProperties {

    @NestedConfigurationProperty
    private Connection primaryConnection; // Connection is defined somewhere else

    @NestedConfigurationProperty
    private Connection backupConnection;

    // getter, setter ...

}

另请参阅Reference GuideConfiguration Binding Docs

票数 98
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29587640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档