2015-01-21 15 views
1

我正在使用spring並且需要配置大量bean的需求。例如:請參閱spring bean中的一組屬性

<bean name="PC_Name" class="com.stack.Exchange"> 
<property name="firstName" value="jack"/> 
<property name="lastName" value="nicolas"/> 
</bean> 

<bean name="Mobile_Name" class="com.stack.Exchange"> 
    <property name="firstName" value="jack"/> 
    <property name="lastName" value="nicolas"/> 
</bean> 

現在,和上面的兩個bean一樣,我使用相同的屬性和相同的值。 有沒有什麼方法可以將這些屬性寫入一個公共標記中,並將其注入到上面的bean中。一些事情,如:

<bean name="PC_Name" class"com.stack.Exchange"> 
    <properties name="nameReference"/> 
</bean> 

<bean name="Mobile_Name" class"com.stack.Exchange"> 
<properties name="nameReference"/> 
</bean> 

<properties name="nameReference"> 
    <property name="firstName" value="jack"/> 
    <property name="lastName" value="nicolas"/> 
</properties> 

我知道它可以通過所需的豆定義與firstName和lastName變量另一個類,並注入這個類來實現。 但我不想更改已寫入com.stack.Exchange類中的代碼。

感謝 尼廷

+0

這對你的項目有用嗎? – 2015-01-22 07:56:15

回答

1

你必須創建一個bean定義的模板的可能性。在這個bean中,你必須聲明一個值爲true的屬性「abstract」。你不應該在其中指定class屬性。

<bean id="beanTemplate" abstract="true"> 
     <property name="firstName" value="jack"/> 
     <property name="lastName" value="nicolas"/> 
    </bean> 
    <bean name="PC_Name" class"com.stack.Exchange" parent="beanTemplate"> 
    </bean> 
    <bean name="Mobile_Name" class"com.stack.Exchange" parent="beanTemplate"> 
    </bean> 
+0

謝謝@ s.kwiotek。有效。 – 2015-01-23 07:29:39