`
wbj0110
  • 浏览: 1602447 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

试用配置管理库typesafe.config

    博客分类:
  • Akka
阅读更多

试用配置管理库typesafe.config

Typesafe的Config库,纯Java写成、零外部依赖、代码精简、功能灵活、API友好。支持Java properties、JSON、JSON超集格式HOCON以及环境变量。它也是Akka的配置管理库.

Overview

  • 纯java实现,无任何依赖
  • 充分的测试
  • 支持: Java properties, JSON, and a human-friendly JSON superset
  • 可以合并各种格式的配置文件
  • 可以通过文件、urls、classpath加载配置
  • 支持多层嵌套的配置方式
  • 识别Java system properties, 如java -Dmyapp.foo.bar=10
  • 可以转换长短,大小等单位。如配置文件中timeout=10s,则可以转换成任意的毫秒或者
  • 类型转换,比如yes可以转换为boolean类型的true
  • JSON superset features:
    • comments
    • includes
    • substitutions ("foo" : ${bar}"foo" : Hello ${who})
    • properties-like notation (a.b=c)
    • less noisy, more lenient syntax
    • substitute environment variables (logdir=${HOME}/logs)

目前config只支持配置文件,如果想从数据库获取配置文件,需要自己diy。 config库很擅长合并配置。

Example

默认加载classpath下的application.conf,application.json和application.properties文件。通过ConfigFactory.load()加载。

# these are our own config values defined by the app
simple-app {
    answer=42
}

# Here we override some values used by a library
simple-lib.foo="This value comes from simple-app's application.conf"
simple-lib.whatever = "This value comes from simple-app's application.conf"
public class SimpleLibContext {
    private Config config;

    //指定配置文件
    public SimpleLibContext(Config config) {
        this.config = config;
        config.checkValid(ConfigFactory.defaultReference(), "simple-lib");
    }

    // 默认加载classpath下的application.*
    public SimpleLibContext() {
        this(ConfigFactory.load());
    }

    //打印
    public void printSetting(String path) {
        System.out.println("The setting '" + path + "' is: " + config.getString(path));
    }

    public static void main(String[] args) {
        SimpleLibContext s = new SimpleLibContext();
        s.printSetting("simple-app.answer");
    }
}

Reference

http://stackoverflow.com/questions/18668883/using-typesafes-config-to-manage-my-database-connection
https://github.com/typesafehub/config/tree/master/examples
https://github.com/typesafehub/config

 

 
分享到:
评论

相关推荐

    spark-assembly linux下运行local模式缺失包

    com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version' at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124) at ...

    MyConfig:Typesafe Config-通过示例工作

    Typesafe Config库,由Lightbend公司(前身为Typesafe)开发,是Java和Scala社区广泛使用的配置管理工具。这个库提供了一种简洁、强大的方式来处理应用配置,使得开发者可以轻松地读取、修改和管理配置文件。 **1. ...

    typesafe-config-util:Typesafe Config Utility

    Typesafe Config Utility是一个工具,它基于Typesafe Config库进行了扩展,为Java开发者提供了一种更加便利的方式来管理和处理应用配置。Typesafe Config最初由Lightbend公司(前身为Typesafe)开发,是Java和Scala...

    config-1.2.1-API文档-中文版.zip

    标签:typesafe、config、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...

    typesafeconfig-for-webapps-1.1.zip

    总的来说,这个"typesafeconfig-for-webapps-1.1"是一个为Web应用提供强大且类型安全配置管理的工具,通过其开源的`typesafeconfig-extensions-master`,开发者不仅可以利用这个库,还能学习到配置管理的最佳实践,...

    TypeSafe.Http.Net:.NET Framework,.NET Core和.NET Standard的类型安全HTTP库。 为网络带来类型安全

    TypeSafe.Http.Net TypeSafe.Http.Net是一个自动类型安全的REST Web客户端。 为网络的不确定性带来类型安全。 TypeSafe.Http.Net是深受Square的灵感和保罗·贝茨。 它将REST或ASP.NET Web API转换为类型安全的异步...

    配置:用于Typesafe配置的Scala包装器

    配置 configs是Scala包装器。 用法 将以下行添加到您的构建文件中: libraryDependencies + = " com.github.kxbmap " %% " configs " % " 0.5.0 " 快速开始 import com . typesafe . config . ConfigFactory ...

    spring-typesafe-config:一个使用typesafehubconfig作为Spring配置文件源的实验

    标题“spring-typesafe-config”指的是一个项目,该项目尝试将Typesafe Config库与Spring框架结合,以提供更高效、更易于管理和维护的配置方式。Typesafe Config是由Akka团队开发的一个用于处理配置信息的库,它支持...

    Akka scala

    1. **安装与配置**:熟悉Akka的安装过程以及如何配置基本的环境。 2. **创建第一个Actor**:了解如何定义和创建Actor,这是使用Akka进行开发的基础。 3. **消息传递**:学习如何在Actor之间发送消息,这是Akka的核心...

    vertx-typesafe-config-example:使用vertx3的typesafe-config

    支持使用typesafe-config进行配置的简单Vertx 3应用程序。配置位于conf / application.conf-通用默认值conf / dev / application.conf-开发专用conf / prod / application.conf-特定于生产用法:发展 mvn clean ...

    cedi-config:提供一个安全的API,用于从Typesafe Config中解析设置对象

    有限的依赖关系-仅Typesafe Config和Shapeless 用法示例: import scala . concurrent . duration . FiniteDuration // import scala.concurrent.duration.FiniteDuration import com . ccadllc . cedi . config ...

    config-1.3.3-API文档-中文版.zip

    标签:typesafe、config、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    config-1.3.0-API文档-中英对照版.zip

    标签:typesafe、config、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    ssl-config-core_2.11-0.3.7-API文档-中文版.zip

    标签:typesafe、ssl、config、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...

    config-1.3.0-API文档-中文版.zip

    标签:typesafe、config、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...

    config4k:Typesafe Config的Kotlin包装器

    `config4k` 是一个针对 `Typesafe Config` 的 Kotlin 库,它为使用 Kotlin 进行应用程序配置提供了更方便、更直观的方式。`Typesafe Config` 原本是用 Java 编写的,广泛应用于 Scala 和 Java 项目中,它允许开发者...

    ssl-config-core_2.11-0.3.7-API文档-中英对照版.zip

    标签:typesafe、ssl、config、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    akka2.0使用方法

    14. **测试Actor**:Akka提供了`TestKit`库,简化了对Actor的单元测试和集成测试。 总结,Akka 2.0 提供了一套完整的框架来构建高可伸缩、容错的系统。通过理解和熟练使用上述概念,你可以有效地利用Akka构建复杂的...

    akka-stream_2.12-2.5.12.jar

    Akka 是一个工具包,用于为 Java 和 Scala 构建高度并发、分布式和弹性的消息驱动应用程序。 com.typesafe.akka/akka-stream_2.12/2.5.12/akka-stream_2.12-2.5.12.jar

    konf,支持大多数配置格式的KTILI/Java类型安全级联配置库.zip

    2. **多格式支持**:Konf支持多种常见的配置文件格式,如JSON、YAML、Properties(Java传统配置格式)、HOCON(Human-Optimized Config Object Notation,人类优化的配置对象表示法,由TypeSafe Config库使用)等。...

Global site tag (gtag.js) - Google Analytics