功能
这个类很简单,就是一个属性获取的公共类。但是用法却很巧妙,代码相当优雅,所以忍不住想要再说说这个类。它的功能是管理 catalina.properties
类文件中的配置属性获取,只有一个方法 getPropertity(String name)
。
代码结构
类图和流程图如下:
启示录
我认为这个类的高明之处就是充分使用了配置属性,配置文件路径可配置,即流程图的第一个操作,是从环境变量中获取的配置文件路径。如果我通过VM参数配置
-Dcatalina.config="xxx/myfile/catalina.properties
的话,就改变了它的默认的配置文件。
我在项目开发中也会封装一个同等功能的属性管理类,,对比之下,我们项目中的那个类就太难看了,也不能动态改变配置文件路径。如果不涉及到侵权的话,我决定以后就拿这个类当模版了,把环境变量的 catalina.config
改为我们自己项目路径就可以了。
短短一百多行的代码,大师的水平可见一斑!