2012-06-13 74 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个属性文件。 –