Java 通用配置
(三)用户配置实现
本系列参考实现:
config: 参数配置,支持按版本设置默认值,支持用户覆盖默认配置,支持环境变量和系统变量,支持Spring配置
https://github.com/mybatis-mapper/config
用户配置

用户和版本配置都需要读取文件,但是两者的难度相差很大,本节先来看看用户配置的设计和实现。
抽象类定义
这里的用户配置是一个抽象实现,当具体模块需要使用时需要继承该类进行实现,抽象类中定义了一定的规范和实现,下面先看抽象类的定义:
public abstract class UserConfig implements Config {
public static final Logger log = LoggerFactory.getLogger(UserConfig.class);
public static final String FILE_TYPE = ".properties";
protected volatile Properties properties;
@Override
public int getOrder() {
return USER_ORDER;
}
/**
* 获取文件名对应的 key
*/
protected abstract String getConfigKey();
/**
* 获取默认配置名
*/
protected abstract String getConfigName();
/**
* 跳过读取指定的 key
*
* @param key 属性
*/
protected boolean skipKey(String key) {
return getConfigKey().equals(key);
}
/**
* 初始化
*/
protected void init() {

本文详细介绍了Java通用配置中的用户配置实现,包括抽象类定义、方法说明、用户配置优先级和类加载器的使用。用户配置允许模块根据需求继承并实现,通过特定方法获取配置文件,并遵循一定的优先级规则。类加载器部分参考了Spring的实现,确保资源的有效加载。文章强调了理解和掌握配置加载过程的重要性,以避免在实际操作中出现不确定性。
最低0.47元/天 解锁文章
1801

被折叠的 条评论
为什么被折叠?



