spring中,ref和idref标签之间的区别?

ref和idref标签在定义上的区别:

idref标签:注入的是目标bean的id,同时使用idref容器在部署的时候还会验证这个名称的bean是否真实存在。idref就跟value一样,只是将某个字符串注入到属性或者构造函数中,只不过注入的是某个Bean定义的id属性值

ref:ref元素是将目标bean定义的实例注入到属性或构造函数中

示例:

<bean id="bea" class="java.lang.String">
	<constructor-arg index="0"><value>testString</value></constructor-arg>
</bean>
<bean id="tid" class="com.zking.spring01.entity.Test">
	<constructor-arg name="tname"><idref bean="bea" /></constructor-arg>
	<property name="id">
		<ref local="bea" />
	</property>
	<property name="tsex" value="man"></property>
</bean>
上面的<constructor-arg name="tname"><idref bean="bea" /></constructor-arg>
<constructor-arg name="tname"><value>bea</value></constructor-arg>。

ref元素的属性,区别如下:

parent 只能指定位于当前容器的父容器中定义的对象引用;
bean 基本上通吃,即包括以上两种情况都可以,所以,通吃情况下,直接使用bean来指定对象引用就可以了。

 

猜你喜欢

转载自blog.csdn.net/qq_42246139/article/details/82746989
今日推荐