2011-04-27 34 views
0

我有兩個類ABA保存B作爲類字段b如何將一個bean的構造函數arg傳遞給嵌套bean

A在其構造函數中有兩個參數:public A(C c, D d){}。

B在其構造函數中有兩個參數:public B(C c, D d){}

A有一個設置爲B

在彈簧XML

,我所定義的豆B嵌套A

<bean id="B" class="java.util.B"/> 

<bean id="A" class="java.util.A> 
    <property name="b" ref="B"/> 
</bean> 

如果我加載A如下:

(A)SpringManager.getInstance().loadBean("A",new Object[] {c,d}) 

(假設cd在類中定義該功能稱爲loadBean功能)

如何通過參數A得到B的構造函數?

回答

2

你不能。要麼你是負責人,要麼是Spring。你正在做的是手動連線對象,而不是使用Spring來管理它們。你不能指望Spring提供魔法來讓你做到這一點。

所以你必須實例化B第一,然後把它傳遞給A

B b = (B)SpringManager.getInstance().loadBean("B",new Object[] {c,d}); 
A a = (A)SpringManager.getInstance().loadBean("A",new Object[] {c,d}); 
a.setB(b); 

坦白的說:如果你不喜歡它,我不明白爲什麼你在使用Spring第一名。

相關問題