【发布时间】:2011-11-28 12:49:27
【问题描述】:
我使用 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer。 有 3 个属性文件。因此,如果属性重复 - 最后获胜。
第一个文件包含所有属性,其他文件替换一些属性。 我使用例如像
这样的变量log.dir=c:/log.
所以我可以用
之类的属性替换部分路径${log.dir}/app1.log
在第一个文件中,我有 48 次使用这个变量。
在第二个文件中,第一个文件中的属性有 25 个替代项,第三个文件中有 5 个替代项。
我需要在第二个和第三个文件中重新定义这个变量的问题!
我想用同一个名字
log.dir
但如果我在第二个或第三个文件中定义它 - 重新定义返回到第一个文件 - 但我需要使用其余 18 个(48 -25 - 5=18)个旧属性。 类似案例中的最佳实践是什么? 谢谢。 经过一些分析,我希望在所有属性文件中都有具有相同名称的变量,但不能覆盖值。所以对于第一个文件 log.dir=c:\log,对于第二个 log.dir=d:\log,对于第三个 log.dir=e:\log。并且在计算自己使用的每个文件的路径时。所以被覆盖的只能是属性 - 而不是变量。
【问题讨论】:
-
我什至不确定你说的是什么。在任何情况下,您可能都想考虑编写一个自定义的占位符配置器,尽管这听起来像是在滥用这个想法。
标签: java spring file ant properties