【发布时间】:2015-11-12 10:54:42
【问题描述】:
我需要帮助来控制我需要在我的应用程序中使用的几个 3rd 方库的行为:
- DBLib,是数据库访问所必需的
- PropsLib,DBLib需要配置
DBLib 对 PropsLib 进行大量静态方法调用以获取配置设置。例如:String dbHost = PropsLib.getString("dbHost")。 PropsLib 使用从文件系统读取的非标准 .properties 文件。 (非标准意味着它们有一个古怪的占位符语法,与我们的任何其他 .properties 文件都不匹配)此外,在每个环境中外部化(覆盖)这些文件的方法既奇怪又笨重。
是否有任何设计策略可以让我在这里使用现有的基于 Spring 的配置机制?还是我唯一的选择是编写自己的 PropsLib 库实现?
【问题讨论】:
-
这听起来太宽泛了,尤其是在没有 PropsLib 源的情况下。尽管如此,根据您的描述, PropsLib 不应该是非常复杂的东西,因此重写它听起来是一个合理的选择。
-
很抱歉我没有提供任何来源。 PropsLib 库是专有的,所以我不能。该库的一般功能是:从文件系统读取 .properties,解析,返回字符串。
标签: java spring design-patterns properties-file legacy-code