2014-05-13 684 views
1

我在我的項目中有一個屬性文件,它具有對來自同一文件或某個時間系統或環境變量的其他屬性的內部引用。我怎樣才能引用同一個屬性文件中的那些?Google Guice屬性佔位符

例如:

Test = testexample 
foo = ${Test}/${hostname} 

這裏Test應該來自於從系統變量上面的財產和hostname。這適用於Spring。

在此先感謝您的幫助。

回答

1

Guice允許您通過Names.bindProperties註冊屬性,但沒有提供自己的機制來加載屬性,所以這不被支持。

當您設法使用其他工具讀取/替換屬性時,您可以註冊它們,當然。

當你使用maven時,你可以考慮使用build-helper插件在構建過程中替換引用,如果這對你來說足夠了。

1

這是不存在於核心吉斯但實際上可以使用Rocoto Guice extension

它允許指定的佔位符來實現和擴展他們動態

my.testFile = testFile.config 
my.testDir = /etc 
my.testPath = ${my.testDir}/${my.testFile} 

它還支持默認值

my.testDir = /etc 

#resolves to /etc/default.config 
my.testPath = ${my.testDir}/${my.testFile|default.config}