在spring bean中引用一组属性

时间:2015-01-21 10:55:44

标签: java spring spring-mvc dependency-injection

我正在使用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变量定义另一个类并在所需的bean中注入该类来实现。 但是我不想更改已经在com.stack.Exchange类中编写的代码。

由于 尼丁

1 个答案:

答案 0 :(得分: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>
相关问题