Simple Configuration Facade 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Simple Configuration Facade 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Simple Configuration Facade 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具Java开发工具
开源组织
地区 国产
投 递 者 koqizhao
适用人群 未知
收录时间 2018-08-30

软件简介

SCF: 简单配置门面

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

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

用法

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

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

示例

功能

强类型

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

安全的配置

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

动态配置

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

多配置源

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

可扩展

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

一些常用扩展:

轻量

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

支持多线程并发

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

容易使用

scf-simple 对最简单常用的Property场景进行了实现: properties file, memory Map, system properties, env variables.

参考:

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
12 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部