2016-10-06 28 views
0

私は、プロパティを使用して、いくつかの春の設定を持っているので、同じよう:明らかXML設定ファイルからSpringプロパティを設定するにはどうすればよいですか?

<bean id="foo" class="..."> 
    <constructor-arg value="${aProperty}"/> 
</bean> 

私は(example.propertiesを言う)、私はプロパティファイルを持っていることによって、このプロパティを解決することができます知っている:

aProperty=value 

<bean id="propertyConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>example.properties</value> 
     </list> 
    </property> 
</bean> 

は私の質問、私が代わりにクレアを有するのXMLファイルに直接このプロパティを設定することができている:春の設定でこのファイルをインポートします別のプロパティファイルですか?このような何かが理想的である:

<set-property name="aProperty" value="value"/> 

Mavenは、POMファイル用の同様の特徴を有する:

<properties><aProperty>value</aProperty></properies> 

答えて

1

プロパティファイルを使用しての目標は、Spring構成ファイルから脱共役値であるので、それは奇妙な少しです同じ構成ファイルにプロパティーを定義します。それでも、PropertyPlaceholderConfigurerに常にプロパティを追加することができます。

<bean id="propertyConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>example.properties</value> 
     </list> 
    </property> 
    <property name="properties"> 
     <props> 
      <prop key="aa">bb</prop> 
      <prop key="cc">dd</prop> 
     </props> 
    </property> 
</bean> 

希望します。

+0

パーフェクト。これを行う理由は、プロパティ値自体がサードパーティのライブラリに渡されるプロパティファイルの名前であるためです。これは私のアプリケーションの6つのインスタンス間で異なる唯一のプロパティであるため、私は6つの新しいプロパティファイルを作成したくない。そのすべてがもう1つのプロパティファイルの名前だった1つのプロパティを持っていた! – tonicsoft

関連する問題