试用配置管理库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
相关推荐
com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version' at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124) at ...
Typesafe Config库,由Lightbend公司(前身为Typesafe)开发,是Java和Scala社区广泛使用的配置管理工具。这个库提供了一种简洁、强大的方式来处理应用配置,使得开发者可以轻松地读取、修改和管理配置文件。 **1. ...
Typesafe Config Utility是一个工具,它基于Typesafe Config库进行了扩展,为Java开发者提供了一种更加便利的方式来管理和处理应用配置。Typesafe Config最初由Lightbend公司(前身为Typesafe)开发,是Java和Scala...
标签:typesafe、config、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...
总的来说,这个"typesafeconfig-for-webapps-1.1"是一个为Web应用提供强大且类型安全配置管理的工具,通过其开源的`typesafeconfig-extensions-master`,开发者不仅可以利用这个库,还能学习到配置管理的最佳实践,...
TypeSafe.Http.Net TypeSafe.Http.Net是一个自动类型安全的REST Web客户端。 为网络的不确定性带来类型安全。 TypeSafe.Http.Net是深受Square的灵感和保罗·贝茨。 它将REST或ASP.NET Web API转换为类型安全的异步...
配置 configs是Scala包装器。 用法 将以下行添加到您的构建文件中: libraryDependencies + = " com.github.kxbmap " %% " configs " % " 0.5.0 " 快速开始 import com . typesafe . config . ConfigFactory ...
标题“spring-typesafe-config”指的是一个项目,该项目尝试将Typesafe Config库与Spring框架结合,以提供更高效、更易于管理和维护的配置方式。Typesafe Config是由Akka团队开发的一个用于处理配置信息的库,它支持...
1. **安装与配置**:熟悉Akka的安装过程以及如何配置基本的环境。 2. **创建第一个Actor**:了解如何定义和创建Actor,这是使用Akka进行开发的基础。 3. **消息传递**:学习如何在Actor之间发送消息,这是Akka的核心...
支持使用typesafe-config进行配置的简单Vertx 3应用程序。配置位于conf / application.conf-通用默认值conf / dev / application.conf-开发专用conf / prod / application.conf-特定于生产用法:发展 mvn clean ...
有限的依赖关系-仅Typesafe Config和Shapeless 用法示例: import scala . concurrent . duration . FiniteDuration // import scala.concurrent.duration.FiniteDuration import com . ccadllc . cedi . config ...
标签:typesafe、config、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:typesafe、config、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
标签:typesafe、ssl、config、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
标签:typesafe、config、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...
`config4k` 是一个针对 `Typesafe Config` 的 Kotlin 库,它为使用 Kotlin 进行应用程序配置提供了更方便、更直观的方式。`Typesafe Config` 原本是用 Java 编写的,广泛应用于 Scala 和 Java 项目中,它允许开发者...
标签:typesafe、ssl、config、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
14. **测试Actor**:Akka提供了`TestKit`库,简化了对Actor的单元测试和集成测试。 总结,Akka 2.0 提供了一套完整的框架来构建高可伸缩、容错的系统。通过理解和熟练使用上述概念,你可以有效地利用Akka构建复杂的...
Akka 是一个工具包,用于为 Java 和 Scala 构建高度并发、分布式和弹性的消息驱动应用程序。 com.typesafe.akka/akka-stream_2.12/2.5.12/akka-stream_2.12-2.5.12.jar
2. **多格式支持**:Konf支持多种常见的配置文件格式,如JSON、YAML、Properties(Java传统配置格式)、HOCON(Human-Optimized Config Object Notation,人类优化的配置对象表示法,由TypeSafe Config库使用)等。...