2011-07-25 12 views
3

.propertiesファイルのドット表記を使用してSpring Beanのプロパティを設定できますか。たとえば、あなたが定義したとします.propertiesリソースファイルでスプリングBeanのプロパティを設定する方法

<bean name="myBean" class="MyBean" /> 

それはプロパティファイルで定義された値にMyBeanとのMyBean.somePropertyを設定することは可能ですか?このプロパティファイルによって、例えば:

myBean.someProperty = aValue 

私はPropertyPlaceholderConfigurerについて知っているが、私の要件は、それがサポートしているものとは多少異なります。

答えて

3

あなたがそのようなあなたのxml内のプロパティを持っている場合、プロパティはPropertyPlaceholderConfigurer

に対処する必要があること

<property name="someProperty" value="${myBean.someProperty}" /> 

のようなファイルからあなたが値を割り当てることができます。しかし、私は、あなたがしたいと思いますあなたのプロパティをオーバーライドするので、正しい答えのためのPropertyOverrideConfigurer

+0

感謝のドキュメントを見てします。私はこれがPropertyOverrideConfigurerを介してマップエントリを追加することも可能かどうかを知りたいのですか?たとえば、(XMLファイルの)いくつかのエントリが追加されるmapプロパティを持つBeanを定義したとします。これで、プロパティファイル内のエントリをマップに追加したいとします。これは可能ですか? – Mohsen

+0

私は知っている、あなたはこれらのことを行うことができますmit [SpringEL(Expression Language)](http://static.springsource.org/spring/docs/3.1.0.M2/spring-framework-reference/html/expressions.html #d0e12535)、これはプロパティでも動作しているかどうかはわかりません。だからあなた自身で試してみてください。 – powerMicha

0

また、あなたが探しているものを正確に行うSpring配布で利用できるPropertyOverrideConfigurerもあります。

2
<context:property-placeholder location="classpath:/application.properties" /> 

<property name="myProperty" value="${myProperty.key.of.properties}" /> 
関連する問題