2011-07-25 204 views
3

可以通過.properties文件中的點符號來設置spring bean的屬性。例如,假設你已經定義了:如何在.properties資源文件中設置spring bean屬性

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

是否可以將MyBean的MyBean.someProperty設置爲屬性文件中定義的值?例如,通過此屬性文件:

myBean.someProperty = aValue 

我知道PropertyPlaceholderConfigurer,但我的要求與它支持的有所不同。

回答

3

如果你在你的XML像這樣的屬性,可以分配一個值從屬性文件一樣,

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

具有應對PropertyPlaceholderConfigurer

但是我想,你想以覆蓋您的屬性,所以看看PropertyOverrideConfigurer的文檔

+0

感謝您的正確答案。我很想知道這是否也可以通過PropertyOverrideConfigurer添加映射條目?例如,您使用map屬性定義了一個bean,其中添加了許多條目(在XML文件中)。現在您想要在屬性文件中添加更多條目到地圖中。這可能嗎? – Mohsen

+0

我知道你可以做這些事情[SpringEL(Expression Language)](http://static.springsource.org/spring/docs/3.1.0.M2/spring-framework-reference/html/expressions.html #d0e12535),但我不確定,如果這也與屬性一起工作。所以請自己嘗試一下。 – powerMicha

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

<property name="myProperty" value="${myProperty.key.of.properties}" /> 
相關問題