2013-07-12 50 views
1

因此,我开始使用Java Properties类来为我的项目设置键值对。我设计我的项目的方式是,使用配置文件创建默认属性,以及用于覆盖或添加其他属性的另一个配置文件。默认配置文件将位于我的Eclipse MainFramework项目中,而其他配置文件将位于存储测试的本地项目中。Java属性 - 全局和本地属性

MainFramework 
Validation 
TestProject1 
TestProject2 

在这个例子中,MainFramework有默认的配置文件和每个TestProject可能会或可能不会有它自己的本地配置文件。有没有办法通过Java的Properties类来获得我想要的功能?

回答

1

java属性对象是一个Hashtable。如果您阅读主配置文件的属性,然后将第二个属性文件读入同一个对象,它将覆盖现有属性(如果它们存在于两个位置),或者如果它们不存在则添加新属性。仅在原始文件中找到的属性也会保留。

+0

这就是我想的。只是想确认。非常感谢瑞克。 – user2433924

0

如何使用第三方配置库来实现这一目标?

Typesafe's config支持使用属性文件,并且可以处理全局配置与子配置合并以及许多其他功能。

Apache commons configuration还支持属性文件作为配置源和用于组合不同来源的机制。

我个人发现Typesafe有点容易理解和使用,但看看一些例子,看看什么适合你的风格。他们都可以通过maven获得。