在不同的属性文件之间共享通用属性

时间:2019-05-21 21:00:00

标签: java properties-file

我的Java项目中有两个属性文件,它们两个都有一些commong属性...例如 PropertyFile1.properties:

p1=v1
p2=v2
p3=v3
p4=v4

PropertyFile2.properties:

p1=v1
p2=v2
p23=v23
p24=v24

在这里,p1和p2属性对于两个文件都是相同的。

我需要能够在不同文件中分离出此类通用属性,例如 Common.properties:

p1=v1
p2=v2

,然后在PropertyFile1和PropertyFile2.properties文件中引用此common.properties。 基本上,我需要能够在不同的属性文件之间共享公共属性及其值。 这可能吗?

注意:

我是Java新手。我知道如何在.Net

中执行此操作

我遇到了以下链接,但不确定如何根据需要使用它。 http://commons.apache.org/proper/commons-configuration/

谢谢。

1 个答案:

答案 0 :(得分:0)

Properties是主要用于Java相关技术中的文件的文件扩展名,用于存储应用程序的可配置参数。使用属性文件的优点是,我们可以配置特定于环境的(或在一段时间内易于更改)的东西,而无需更改代码中的任何东西。因此,继承公共属性不是一种好方法如果某个属性对于所有对象似乎都是静态的,例如环境,那么它不应该是属性。

但是,可能是我们拥有多个开发环境和生产环境,在这些环境中,我们将在用于开发目的的环境中共享相同的属性,并在生产环境中共享不同的属性。在这种情况下,我们可以创建一个公共属性文件并在我们所有环境特定的属性文件中继承它。另一种情况可能是,在开发时,该属性在所有环境中都是相同的,但是我们希望将来可以根据需要提供更改属性的选项。

有两种方法可以从通用属性文件继承属性:

  • 包含
  • 包括可选

这些属性的值是磁盘上文件的名称,该文件将包含在配置中。 “ include” “ includeOptional” 的区别在于,如果不存在文件值,则处理以“ includeOptional” 继续,但以<< em>“包含” 。