我將屬性從我的Spring配置文件內移動到一個單獨的屬性文件。這包括在配置文件中與引用彈簧屬性文件使用路徑相對於配置文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
<property name="location" value="file:properties/${CONFIG_MODE}/service.properties" />
</bean>
因爲它的立場,屬性文件的位置是相對於服務器進程的當前工作目錄。
這就要求進程必須從一個特定的工作目錄開始,甚至更糟糕的是允許(可以認爲是遠程的)它可能拾取完全不同的屬性文件的可能性 - 例如,如果它是以工作目錄設置爲服務的較舊版本。
我想要使用相對於包含配置文件的目錄的路徑來引用屬性文件。
看着FileSystemResource,似乎createRelative可能是我需要的,但我無法弄清楚如何在配置文件中使用它。
感謝,
史蒂夫
很好的解決方案 - 謝謝。唯一的問題(我承認這根本不是一個嚴重的問題)是,有時能夠直接查看/編輯屬性文件很有用 - 例如在緊急情況下,或者做一些快速測試。將它放在罐子裏並不妨礙這一點,但會使它有點麻煩。 – stevec 2010-08-31 16:59:13
@stevec:它不必位於JAR文件中,它可以很容易地位於類路徑中的文件系統目錄中。 – skaffman 2010-08-31 17:01:59
當我使用'@Value(「$ {thing.inside.service.properties}」)'這個工作嗎? – 2014-02-13 09:43:07