引用 spring bean 中的一组属性

Refer a set of properties in a 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 变量定义另一个 class 并将该 class 注入所需的 bean 来实现。 但是我不想更改已经在 com.stack.Exchange class.

中编写的代码

谢谢 尼丁

您可以创建 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>