duic 配置中心 Java/Android 工具包。
-
支持 Java、Servlet、Spring、Android 等应用配置管理。
-
支持配置热加载。
-
支持配置无延迟更新。
-
支持
@Value
注入配置。 -
提供
ConfigUtils
API 静态方法获取配置。
- maven
<dependency> <groupId>io.zhudy.duic</groupId> <artifactId>duic-java-client</artifactId> <version>1.4.0</version> </dependency>
- gradle
compile "io.zhudy.duic:duic-java-client:1.4.0"
Important
|
duic-java-client 采用的
|
-
ConfigUtils.containsKey(key) 判断配置是否存在。
-
ConfigUtils.getBoolean(key) 获取一个
boolean
配置。 -
ConfigUtils.getBoolean(key, defaultValue) 获取一个
boolean
配置不存在则返回默认值。 -
ConfigUtils.getInt(key) 获取一个
int
配置。 -
ConfigUtils.getInt(key, defaultValue) 获取一个
int
配置不存在则返回默认值。 -
ConfigUtils.getLong(key) 获取一个
long
配置。 -
ConfigUtils.getLong(key, defaultValue) 获取一个
long
配置不存在则返回默认值。 -
ConfigUtils.getFloat(key) 获取一个
float
配置。 -
ConfigUtils.getFloat(key, defaultValue) 获取一个
float
配置不存在则返回默认值。 -
ConfigUtils.getDouble(key) 获取一个
double
配置。 -
ConfigUtils.getDouble(key, defaultValue) 获取一个
double
配置不存在则返回默认值。 -
ConfigUtils.getString(key) 获取一个
String
配置。 -
ConfigUtils.getString(key, defaultValue) 获取一个
String
配置不存在则返回默认值。 -
ConfigUtils.get(key) 获取一个
Object
配置。 -
ConfigUtils.get(key, defaultValue) 获取一个
Object
配置不存在则返回默认值。 -
ConfigUtils.getOrNull(key) 获取一个
Object
配置不存在则返回null
。
-
DuicClientUtils.getState(url) 获取服务器配置状态。
-
DuicClientUtils.getState(url, configToken) 获取服务器配置状态。
-
DuicClientUtils.getProperties(url) 获取服务器配置。
-
DuicClientUtils.getProperties(url, configToken) 获取服务器配置。
创建 Config
实例并将设置为 ConfigUtils
的默认配置
Config config = new Config.Builder()
.baseUri("https://duic.zhudy.io/api/v1")
.name("hello")
.profile("world")
// 访问令牌(可选)
.configToken("token1,token2")
// 监控服务器配置变化,当配置发生改变时自动重载(可选)
.enableWatch()
// 启用快速失败策略,当获取配置失败时,直接抛出异常(可选)
.enableFailFast()
// 配置加载监听(可选)
.listener()
.build();
ConfigUtils.setDefaultConfig(config);
- web.xml
<!-- 默认配置路径 classpath:duic.properties -->
<context-param>
<param-name>duicConfigLocation</param-name>
<param-value>classpath:duic.properties</param-value>
</context-param>
<listener>
<listener-class>io.zhudy.duic.config.web.DuicConfigContextListener</listener-class>
</listener>
- duic.properties
duic.base.uri=https://duic.zhudy.io/api/v1
duic.name=hello
duic.profile=world
duic.config.token=
duic.watch.enabled=true
duic.fail.fast=false
# 多个 DuicListener 采用英文逗号(,)分隔
duic.listeners=xx.MyDuicListener
-
声明
DuicConfigBeanFactoryPostProcessor
实例@Bean public static DuicConfigBeanFactoryPostProcessor duicConfigBeanFactoryPostProcessor() { DuicConfigBeanFactoryPostProcessor processor = new DuicConfigBeanFactoryPostProcessor(); processor.setBaseUri("https://duic.zhudy.io/api/v1"); processor.setName("hello"); processor.setProfile("world"); return processor; }
或者在
xml
中声明<bean id="duicConfigBeanFactoryPostProcessor" class="io.zhudy.duic.config.spring.DuicConfigBeanFactoryPostProcessor"> <property name="baseUri" value="https://duic.zhudy.io/api/v1"/> <property name="name" value="hello"/> <property name="profile" value="world"/> </bean>
-
使用
@Value
注入配置属性
@Component
public class Example {
@Value("${k1.string}")
private String k1;
}
Tip
|
|