引用 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>
我正在使用 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>