背景
在Java项目开发中,经常遇到将项目配置文件对外提供给运维人员配置使用。在Spring中已经很友好的提供了yml、properties的方式读取配置。
但是我们有这种场景,为了降低配置文件的运维难度,一份有详细注释的的配置文件是我们需要。当然我们期望的不仅仅是降低运维难度,我们还期望降低开发的开发难度。因此有了这个开源项目。
项目地址
https://gitee.com/mathcoder23/bean-ini-store
项目功能(bean-ini-store)
- 基于Java Bean。开发人员面向Bean对象开发。
- 基于Ini文件。运维人员面向Ini文件配置参数。
- Bean与Ini文件双向绑定。
- Ini文件修改,自动刷新到Bean
- 支持将Bean的备注信息,映射到Ini文件
使用说明
- 1.需要进行映射的Bean对象需要继承抽象类
BaseBeanIni
- 2.Bean对象的类声明处使用
@IniFile
注解 - 3.Bean对象的属性使用
@IniField
注解 - 4.Bean对象使用线程安全的单例模式,然后调用
BaseBeanIni中的init()方法
@IniFile注解说明
/**
* ini配置文件注解
* @author pettyfox.top
* @version V1.0
* @date 2020-05-09
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface IniFile {
/**
* 配置文件路径,支持正反斜杆,会根据系统类型处理分隔符
* 配置文件会自动生成,将bean的默认值写到文件中
* @return 配置文件路径
*/
String storePath() default "config/config.ini";
String charset() default "UTF-8";
/**
* @return 多行配置文件注释
*/
String[] fileComments() default {
};
/**
* @return 是否开启配置文件修改实时生效
*/
boolean autoRefreshFile() default true;
}
@IniField注解
/**
* ini配置文件字段注解
* @author pettyfox.top
* @version V1.0
* @date 2020-05-09
*/
@Documented
@Retention