Simple Configuration Facade 用于 Java 开发的配置工具开源项目

我要开发同款
匿名用户2018年08月30日
69阅读
开发技术Java
所属分类开发工具、Java开发工具
授权协议Apache

作品详情

SCF:简单配置门面

SimpleConfigurationFacade,简写为SCF。是代码和外部配置(properties文件,环境变量,系统/命令行参数,yaml文件,等等)之间的一层抽象。命名上和另一个著名组件slf4j(SimpleLoggingFacadeforJava)相似,在配置领域的地位也和slf4j(.NET可类比NLog)在日志领域的地位相同。

SCF使得代码和外部配置分离。代码使用一个配置项,无需关心配置项在哪里配置,如何配置。

用法

java:https://github.com/mydotey/scf/tree/master/java

dotnet:https://github.com/mydotey/scf/tree/master/dotnet

示例

https://github.com/mydotey/scf-best-practice

功能

强类型

核心抽象是强类型的Property,Key和Value都是强类型。,>

安全的配置

可以通过1个valuefilter来自动检查外部配置的正确性。

动态配置

配置可以是动态变化的。配置项的值自动更新。用户也可添加Listener监听配置项的变化。

多配置源

多个配置源有不同的优先级。配置项的值按配置源的优先级自动计算。

可扩展

scf-core里只定义了一组接口抽象和默认实现。所有核心概念都是可扩展的(配置管理器,配置源,配置项等等)。用户可以自由地对默认实现进行扩展,或者编写自己的实现。

一些常用扩展:

scf-simple

scf-labeled

scf-yaml

scf-apollo

轻量

无线程使用,只使用少量内存来缓存配置项。

支持多线程并发

Manager/Property的方法都是线程安全的,可以多线程并发使用。时间复杂读为O(1),和ConcurrentHashMap相同。

容易使用

scf-simple对最简单常用的Property,>场景进行了实现:propertiesfile,memoryMap,systemproperties,envvariables.

参考:

用法

示例

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论