我有两个班级A
和B
。 A
将B
作为类字段b
。
A
在其构造函数中有两个参数:public A(C c, D d){
}。
B
在其构造函数中有两个参数:public B(C c, D d){}
。
A
有一个B
的设置器。
在spring xml中,我定义了嵌套在B
内的Bean 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})
(假设在c
函数调用的类中定义了d
和loadBean
如何将A
获取的参数传递给B
的构造函数?
答案 0 :(得分:2)
你做不到。无论你是负责人还是春天。你正在做的是手动连接对象,而不是使用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。