springbean声明中的ref与idref属性

springbean声明中的ref与idref属性,spring,Spring,有人能告诉我两者的区别吗 <bean id="b1" class="" /> <bean id="" class=""> <property name="b1" ref="b1" /> </bean> 及 什么时候必须使用哪一个 ref用于传递ref引用的bean。 idref用于传递引用的bean的名称(作为字符串) id用于创建类的实例,idref用于指向bean的名称idref必须指向真正的bean。格式应该是这里有一个更详细的

有人能告诉我两者的区别吗

<bean id="b1" class="" />

<bean id="" class="">
 <property name="b1" ref="b1" />
</bean>


什么时候必须使用哪一个

ref
用于传递ref引用的bean。
idref
用于传递引用的bean的名称(作为
字符串


id用于创建类的实例,idref用于指向bean的名称

idref
必须指向真正的bean。格式应该是

这里有一个更详细的示例,假设您有两个bean a和B:

<bean class="A" id="a" />

<bean class="B"/>
    <constructor-arg>
        <ref bean="a"/>
        <idref bean="a"/>
    </constructor-arg>
</bean>

因此,使用ref可以引用一个对象,而使用idref只需引用bean的名称

问题被要求澄清ref和idref之间的区别。
<bean class="A" id="a" />

<bean class="B"/>
    <constructor-arg>
        <ref bean="a"/>
        <idref bean="a"/>
    </constructor-arg>
</bean>
public B(A a, String string) {
     string.equals("a"); //true
}