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