Java Spring框架引用中的idref元素

Java Spring框架引用中的idref元素,java,spring,Java,Spring,在Spring框架引用的idref元素中,它: 上面的bean定义片段(在运行时)与下面的片段完全等效 实际上应该是 <bean id="client" class="..."> <property name="targetName" ref="theTargetBean" /> </bean> 是吗?不,他们完全不同。 在第一种情况下,您指向一个字符串值“targetBean”,它将根据解析此配置文件的属性类型和处理器转换为相应的实例。考虑

在Spring框架引用的
idref
元素中,它:

上面的bean定义片段(在运行时)与下面的片段完全等效


实际上应该是

<bean id="client" class="...">
    <property name="targetName" ref="theTargetBean" />
</bean>


是吗?

不,他们完全不同。

在第一种情况下,您指向一个
字符串
“targetBean”
,它将根据解析此配置文件的属性类型和处理器转换为相应的实例。考虑一些伪代码以更好地理解:

class Client {
    String theTargetBean = targetBeanMetaInformation.getName();
}
第二种情况是指一个名为
targetbean
的bean。它是对
目标bean
bean的引用

class Client {
    Target theTargetBean = targetBeanMetaInformation.getInstanceFrom();
}

似乎是这样的,请考虑将问题提交给撰稿人,在样本之前说:“IDReF元素只是一种错误的方式,将容器中的另一个bean的ID(字符串值-而不是引用)传递给一个或一个元素。”
class Client {
    Target theTargetBean = targetBeanMetaInformation.getInstanceFrom();
}