スプリング3アプリケーションで<util:properties>
タグを使用して複数のプロパティファイルをロードしたいとします。 私はブログで検索しましたが、これを行うための正しいパスを得ることはできません。スプリング3で<util:properties>を使用して複数のプロパティファイルをロード
うまくいけば、誰かが私にこの問題を克服する答えを与えることを望みます。
スプリング3アプリケーションで<util:properties>
タグを使用して複数のプロパティファイルをロードしたいとします。 私はブログで検索しましたが、これを行うための正しいパスを得ることはできません。スプリング3で<util:properties>を使用して複数のプロパティファイルをロード
うまくいけば、誰かが私にこの問題を克服する答えを与えることを望みます。
私のソリューション
<context:property-placeholder location="classpath*:*.properties,file:/some/other/path/*.properties" />
実際に<util:properties>
はorg.springframework.beans.factory.config.PropertiesFactoryBean
の便利なタグです。 PropertiesFactoryBean
は複数の場所をサポートしています。
だから、Properties
と、このようにBeanを作成することが可能である:
<bean id="myProps" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:myprops-common.properties</value>
<value>classpath:myprops-override.properties</value>
<value>classpath:some-more-props-here.properties</value>
</list>
</property>
</bean>
ありがとうございます。 – JonyD
これは、あなたの設定ファイル$ {some.props}を持っているプレースホルダのために動作しますが、それは(@valueでは動作しません。 @Alexei Osipovがその情報を必要とする場合に備えて、そのソリューションを使用するために、あなたのbeanに "#{properties}")を追加してください。 – Koitoer