4-2-1-对其他Bean的引用

对其他Bean的引用(协作者)

ref元素是**定义在元素内的最后一个元素。 在这里,您将一个bean的指定属性的值设置为对该容器管理的另一个bean(协作者)的引用。 引用的bean是要设置其属性的bean的依赖关系,并且在设置属性之前根据需要对其进行初始化。 (如果协作者是单例bean,则它可能已经由容器初始化了。)所有引用最终都是对另一个对象的引用。 范围和验证取决于您是通过bean还是父属性**指定另一个对象的ID或名称。

通过标记的bean属性指定目标bean是最通用的形式,它允许在同一容器或父容器中创建对任何bean的引用,而不管它是否在同一XML文件中。 bean属性的值可以与目标bean的id属性相同,也可以与目标bean的name属性中的值之一相同。 以下示例显示如何使用ref元素:

<ref bean="someBean"/>
通过parent属性指定目标Bean会创建对当前容器的父容器中Bean的引用。

parent属性的值可以与目标Bean的id属性或目标Bean的name属性中的值之一相同。

目标Bean必须位于当前容器的父容器中。 主要在具有容器层次结构并且要使用与父bean名称相同的代理将现有bean封装在父容器中时,才应使用此bean参考变量。 以下清单对显示了如何使用parent属性:

<!-- 在父上下文中 -->
<bean id="accountService" class="com.something.SimpleAccountService">
    <!-- 根据需要在此处插入依赖项 -->
</bean>
<!-- 在子(后代)上下文中 -->
<!-- bean名称与父bean相同 -->
<bean id="accountService" 
    class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="target">
        <ref parent="accountService"/> <!-- 注意我们如何引用父bean -->
    </property>
    <!-- 根据需要在此处插入其他配置和依赖项 -->
</bean>

ref元素的local属性在4.0 Bean XSD中不再受支持,因为它不再提供常规Bean引用上的值。 升级到4.0模式时,将现有的ref本地引用更改为ref bean。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值