7.5.5 配置合作者Bean

7.5.5 配置合作者Bean

如果需要为Bean设置的属性值是容器中的另一个Bean实例,则应该使用<ref>元素。使用<ref>元素时可指定一个bean属性,该属性用于引用容器中其他Bean实例的id属性值

使用property的ref子元素引入其他Bean

看下面的配置片段:

1
2
3
4
5
6
7
<bean id="steelAxe"
class="org.crazyit.app.service.impl.SteelAxe" />
<bean id="chinese" class="org.crazyit.app.service.impl.Chinese">
<property name="axe">
<ref bean="steelAxe" />
</property>
</bean>

使用property元素的ref属性

与注入普通属性值类似的是,注入合作者Bean也有一种简洁的写法,看如下的配置方式:

1
2
3
4
5
<bean id="steelAxe"
class="org.crazyit.app.service.impl.SteelAxe" />
<bean id="chinese" class="org.crazyit.app.service.impl.Chinese">
<property name="axe" ref="steelAxe" />
</bean>

通过为<property>元素增加ref属性,一样可以将容器中另一个Bean作为调用setter方法的参数这种简洁写法的配置效果与前面使用<ref>元素的效果完全相同。

构造注入的情况

<constructor-arg>元素也可增加ref属性,从而指定将容器中另一个Bean作为构造器参数。