起因
最近在做信创改造的项目中接触到 jodd 框架,在原有项目中的配置文件第一次见到还可以这样写配置文件的..., 所以思来想去这个问题一直想知道答案,今天就来研究研究
简介
文档如下:doc
至于为什么使用 jodd 的props?他对原生JDK有兼容性,但对JDK做了增强。 你可以理解为包装了一层,加入了一些方便他人使用的特性
原理浅析
其实也就是加载特定的文件 -> 解析 -> 存储MataData(元信息),然后还是使用的容器去读写
我们存储了MataData,那么我们就可以与 Web 项目中的做集成,如转换成 Bean 加载到 Spring IoC 中做进一步的增强,注入DataSource等等
设计浅析
对于配置文件,我们思考一下会遇到什么场景问题?
在 jodd 里,我们看到作者的设计,考虑了以下场景
- 多个环境
- 我想引用已经定义的 Key (可以参考maven中定义变量)
- 多种编码
- 域(如yz.xxx1、yz.xxx2、yz.xxx3)这里我把框架中的Sections理解为 [域]
- 默认选择值(当同一个Key 有多个 Value的时候)