Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
275 views
in Technique[技术] by (71.8m points)

ref vs idref attributes in spring bean declaration

Can someone tell me the difference between

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

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

and

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

and which one has to be used when?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Here is a little more verbose example, suppose you have two beans A and B:

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

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

In this case B would have a constructor that would look like this:

public B(A a, String string) {
     string.equals("a"); //true
}

So with ref you can reference an object and with idref you just reference the name of the bean


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...