java - 如何使用组合配置来覆盖默认配置?

标签 java apache-commons-config

将配置添加到 CombinedConfiguration 时(来自 Apache Commons 配置 2),如何指定一个配置覆盖另一个配置?

例如,假设我有一个默认配置和一个用户配置。如果我希望用户覆盖默认值,如何设置组合配置?

XMLConfiguration defaultConfig = ...;
XMLConfiguration userConfig = ...;

CombinedConfiguration config = new CombinedConfiguration();
config.addConfiguration(defaultConfig);
config.addConfiguration(userConfig);

最佳答案

这取决于传递给 CombinedConfiguration 类的构造函数的 NodeCombiner。例如,如果使用 OverrideCombiner,添加到配置中的第一个项目将优先于其他节点。如果调用CombinedConfiguration的默认构造函数,将使用UnionCombiner

OverrideCombiner Docs

MergeCombiner Docs

UnionCombiner Docs

关于java - 如何使用组合配置来覆盖默认配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844461/

相关文章:

java - apache 公共(public)配置 : setting an xml namespace for the root element

java - 如何在 Coldfusion 中使用 org.apache.commons.configuration

java - 公共(public)文件上传 : specifying an upload directory within Webapplication context

java - 过去关于构造函数的 Java 考试

java - 从另一个 Action 调用一个 Action 而不是返回任何简单的结果

java - 缺少类 : org. apache.commons.lang.exception.NetableException

java - Commons - 配置 CompositeConfiguration 和 Preferences

java - Apache Commons Configuration2 - 类路径中的多个同名配置文件

java - 如何在sybase 12数据库中存储BigInteger值?

java - 如何排除maven插件配置(无法识别的参数-编码)