本文博客地址: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 (转载请注明出处)