【Spring学习06】依赖配置:元素idref

本文博客地址:http://www.jb51.cc/article/p-yvqddphu-bps.html (转载请注明出处)

首先区分 idref 和 ref 的区别:

前面我们在setter注入中,多采用通过ref指向要注入的对象id:

<bean id="notify" class="twm.spring.start.NotifyServiceByCellPhoneImpl" />
<bean id="order" class="twm.spring.start.Order" >
    <!-- 配置要注入的对象 -->
    <property name="notifyservice" ref="notify"/>
</bean>

如果ref=”notify”中打错字了,比如打成notfy,那么开发过程中是不会校验错误的,只有在运行中才会报错。

idref元素的功能<value>类似,只不过idref多了验证的功能,减少配置的书写错误机率。
使用idref的代码

<bean id="notify" class="twm.spring.start.NotifyServiceByCellPhoneImpl" />
<bean id="order" class="twm.spring.start.Order" >
    <property name="notifyservice">
        <idref bean="notify" />
    </property>
</bean>

ref有三个属性local、parent、bean,具体区别如下:

local:(spring 4.0版本已经不支持属性)只能指定与当前配置的对象在同一个配置文件的对象定义的名称
parent:则只能指定位于当前容器的父容器中定义的对象引用;
bean:基本上没有限制。所以,通常情况下,直接使用bean来指定对象引用就可以了。

本文博客地址:http://www.jb51.cc/article/p-yvqddphu-bps.html (转载请注明出处)

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...