2012-06-13 113 views
1

我有一個屬性文件中的以下屬性:的Spring bean通過屬性接線初始化實例不同

context1.property1=value1 
context1.property2=value2 
context1.property3=value3 

context2.property1=value4 
context2.property2=value5 
context2.property3=value6 

我有以下結構的豆:

class Bean { 
private property1; 
private property2; 
private property3; 
} 

有什麼辦法更好地初始化Bean的2個實例,而不寫下類似內容:

<bean id="bean1" class="com.test.Bean"> 
<property name="property1" value="${context1.value1}" /> 
<property name="property2" value="${context1.value2}" /> 
<property name="property3" value="${context1.value3}" /> 
</bean> 

<bean id="bean2" class="com.test.Bean"> 
<property name="property1" value="${context2.value1}" /> 
<property name="property2" value="${context2.value2}" /> 
<property name="property3" value="${context2.value3}" /> 
</bean> 

謝謝!

回答

0

看一看PropertyOverrideConfigurer

,它覆蓋在應用程序上下文定義bean的屬性值

房產資源配置者。它值從屬性文件推入到bean定義中。

配置線被預期是以下形式的:

beanName.property=value 

實施例的屬性文件:

dataSource.driverClassName=com.mysql.jdbc.Driver 
dataSource.url=jdbc:mysql:mydb 

參見

+0

我不知道它有多大幫助 - 我需要一個簡單的屬性文件(不依賴於Spring),我也想從maven中讀取它。如果我這樣做,我需要有2個屬性文件。 –