jodd-props设计浅析

499 阅读1分钟

起因

最近在做信创改造的项目中接触到 jodd 框架,在原有项目中的配置文件第一次见到还可以这样写配置文件的..., 所以思来想去这个问题一直想知道答案,今天就来研究研究

简介

文档如下:doc

至于为什么使用 jodd 的props?他对原生JDK有兼容性,但对JDK做了增强。 你可以理解为包装了一层,加入了一些方便他人使用的特性

原理浅析

其实也就是加载特定的文件 -> 解析 -> 存储MataData(元信息),然后还是使用的容器去读写

我们存储了MataData,那么我们就可以与 Web 项目中的做集成,如转换成 Bean 加载到 Spring IoC 中做进一步的增强,注入DataSource等等

设计浅析

对于配置文件,我们思考一下会遇到什么场景问题?

在 jodd 里,我们看到作者的设计,考虑了以下场景

  1. 多个环境
  2. 我想引用已经定义的 Key (可以参考maven中定义变量)
  3. 多种编码
  4. 域(如yz.xxx1、yz.xxx2、yz.xxx3)这里我把框架中的Sections理解为 [域]
  5. 默认选择值(当同一个Key 有多个 Value的时候)