我的applicationContext.xml文件中有几个Bean,它们共享相似的属性(它们实现相同的接口)。
我想避免每个bean的样板属性,而是让一个bean具有可以在每个bean中引用的这些属性。
目前我所拥有的是:
<bean id="Animal"
class="com.test.Dog">
<constructor-arg ref="Coat"/>
<constructor-arg value="Bark" index="1"
type="java.lang.String"/>
<constructor-arg value="Spot" index="2"
type="java.lang.String"/>
</bean>
<bean id="Dog"
class="com.test.Dog">
<constructor-arg ref="Coat"/>
<constructor-arg value="Bark" index="1"
type="java.lang.String"/>
<constructor-arg value="Spot" index="2"
type="java.lang.String"/>
</bean>
<bean id="Chicken"
class="com.test.Chicken">
<constructor-arg ref="Coat"/>
<constructor-arg value="Cluck" index="1"
type="java.lang.String"/>
<constructor-arg value="Janice" index="2"
type="java.lang.String"/>
</bean>
<bean id="Rhino"
class="com.test.Rhino">
<constructor-arg ref="Coat"/>
<constructor-arg value="huff" index="1"
type="java.lang.String"/>
<constructor-arg value="Tank" index="2"
type="java.lang.String"/>
</bean>
<bean id="Coat"
class="com.test.Coat"></bean>
注意每个bean配置中的重复属性。
我想做的是这样的:
<bean id="Animal"
class="com.cat.test.Dog">
<constructor-arg ref="properties"/>
</bean>
<bean id="Dog"
class="com.cat.test.Dog">
<constructor-arg ref="properties"/>
</bean>
<bean id="Chicken"
class="com.cat.test.Chicken">
<constructor-arg ref="properties"/>
</bean>
<bean id="Rhino"
class="com.cat.test.Rhino">
<constructor-arg ref="properties"/>
</bean>
<bean id="properties">
<constructor-arg ref="Coat"/>
<constructor-arg value="huff" index="1"
type="java.lang.String"/>
<constructor-arg value="Tank" index="2"
type="java.lang.String"/>
</bean>
<bean id="Coat"
class="com.cat.test.Coat"></bean>
像这样可能吗?