当前位置: 首页 > 软件库 > 开发工具 > Java开发工具 >

Simple Configuration Facade

用于 Java 开发的配置工具
授权协议 Apache
开发语言 Java
所属分类 开发工具、 Java开发工具
软件类型 开源软件
地区 国产
投 递 者 微生德泽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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.

参考:

  • 1.创建facade及其实现类 (1)创建自定义facade类 App/Repositories/Facades/CustomLog.php <?php namespace App\Repositories\Facades; use Illuminate\Support\Facades\Facade; class CustomLog extends Facade { protected

 相关资料
  • 俗话说“工欲善其事必先利其器”,我们开发程序也是一样,开发工具对于我们开发来说用好了能够成倍的提高我们的开发效率,虽然Go的语法简单至极,但是如果有自动化提示,这将会大大的提高我们的开发效率。这一章我将给大家介绍两个目前来说开发Go非常强大而方便的工具:LiteIDE和Sublime Text。LiteIDE是国内牛人开发的一款开发Go的利器,里面很多功能都是非常方便和强大的。Sublime Te

  • 主要内容:流行的Java编辑器在这篇文章中主要介绍Java编程语言设置环境,以下是设置环境的方法说明。 Java SE可以从Java官方网站免费获得。可以根据您的操作系统下载一个版本。 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 以在Windows系统上为例,按照说明下载Java并运行在您的机器上安装Ja

  • 主要内容:常用源码编辑工具介绍,集成开发工具介绍本节介绍一下 Java 常用的几个开发工具。下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给 Java 编码和开发提供卓越的支持。 常用源码编辑工具介绍 Java 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。比如:Windows 记事本,Mac OS X 下的文本编辑,Linux 下的 vi

  • 本文向大家介绍用于C ++开发的Eclipse设置,包括了用于C ++开发的Eclipse设置的使用技巧和注意事项,需要的朋友参考一下 步骤0-安装MinGW GCC或Cygwin GCC 要将Eclipse用于C / C ++编程,您需要一个C / C ++编译器。在Windows上,您可以安装MinGW GCC或Cygwin GCC。如果不确定,请选择MinGW,因为MinGW较轻且易于安装,

  • 问题内容: 我对GUI设计和开发领域还很陌生。我确实有一些经验,但是与Visual Basic有关。 我想在Linux上基于命令行应用程序开发一个相当全面的(尽管不是最先进的)GUI应用程序。我有。已经做了一些谷歌上搜索,我发现主要有三种 好 (也许这就是我的感觉)的方式来实现这一目标: GLADE设计的GTK +库 Qt库,以Qtdesigner为设计师 Java与Netbeans合作 为了解决

  • 我试图将我现有的基于XML的spring批处理项目转换为基于java的配置。@Autowired对象返回null,尽管我已经在基本包中提到了componentscan。

  • Burp 包含大量配置选项,通常来说,您需要在测试的不同阶段相互配合的使用它们,以确保 Burp 按照您所需要的方式工作。例如: 显示 - 您可以配置用于显示HTTP消息的字体和字符集,以及 Burp UI 中的字体。 目标范围 - 目标范围的配置设置了您目前感兴趣并愿意攻击的项目。您应该在测试的初期进行配置,因为它可以控制在 Proxy 组件的历史记录和 Target 组件的站点地图中显示哪些项

  • 使用说明 概述 轻推JAVA-SDK是轻推开放平台面向Java开发者提供的发工具包。通过使用轻推JAVA-SDK,Java开发者可借助轻推高效地使用消息推送,安全登录等功能。 此文档面向Java开发者介绍轻推JAVA-SDK如何使用及相关注意事项。 使用步骤 步骤一:获取AppID以及AppSecret 登录轻推企业管理系统,编辑轻应用/订阅号,获取AppID以及AppSecret,若需要使用轻推