java - java中是否有groovy的ConfigSlurper的等效类?

标签 java groovy configuration

下面是我通常在 groovy 中使用的一个小示例,但我想要在 java 中使用类似的东西。

配置文件

datastore{
    oracle{
        host="localhost"
        port=1521
        dbname="orcl"
    }
    db2{
        host="localhost"
        port=12807
        dbname="sppd"
    }
}

绝妙的

public class Configuration {

    public static final def cfg = new ConfigSlurper().parse(new File("configuration").toURL())

    static main(args) {
        println cfg.datastore.oracle.host
        println cfg.datastore.db2.host
    }

}

最佳答案

我猜您想通过属性的完整路径访问该属性,例如来自 Java 的 datastore.oracle.host 就像在 Groovy 中一样。如果是这样,请执行以下操作:

ConfigObject config = new ConfigSlurper().parse(new File("configuration").toURL());
Map flattenedConfig = config.flatten();
String oracleHost = (String) flattenedConfig.get("datastore.oracle.host");

比 Java 属性更好,因为类型得到了维护。来自Groovy User list post .

关于java - java中是否有groovy的ConfigSlurper的等效类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118732/

相关文章:

java - 解析来自 google 查询的 HTML 链接

java - 如何在 IntelliJ IDEA 13 中将存储库添加到 "Indexed Maven Repositories"?

java - HttpUnit HttpUnitOptions.setScriptingEnabled 不起作用

intellij-idea - Jenkinsfile DSL 源代码

SSL 错误 : OCSP_basic_verify() failed

cakephp - 设置 CakePHP 3 插件测试

java - 如何使用java代码调用solr进行优化

java - 带有 "or"运算符的正则表达式多个字符串

elasticsearch - 在ElasticSearch 5.2.1中从Groovy脚本迁移到轻松脚本

c# - 如何在 C# 中使用应用程序配置文件?