现项目中有多个配置文件
分布于
/props
____def.properties
____/env
_______def.propertiess
_______/dev
_______def.properties
_______myconfig.properties
这三层目录中
如果配置为使用myconfig.properties
那么读取文件的顺序为 从根目录向目标目录逐级读取,后读取的文件中同名属性将覆盖之前文件的属性
即
1.props/def.properties
2.props/env/def.properties
3.props/env/dev/def.properties
4.props/env/dev/myconfig.properties
这个方式可以借鉴到未来项目中去
不过希望能在此基础上添加一些功能
1.include 功能 有时一个properties文件过大 希望能分割成多个文件。
在目前体系下,每层目录只会读取一个默认文件。
仅目标目录下可能读取自定义文件+默认文件,因为不能适应需要分割为多个文件的需求。
2.多种数据源混合配置
现有体系将整个配置统一全部做成了properties配置方式,这种方式好处是管理比较统一 。
但将来也可能存在多种配置源的情况,混合配置的需求也是存在的。
现找到一个Commons-Configuration库 可用于此方面的需求
尝试使用的版本是 commons-configuration2-2.0-alpha1