有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将一个bean的构造函数参数传递给嵌套bean

我有两门课ABAB作为类字段b保存

A的构造函数中有两个参数:public A(C c, D d){

B的构造函数中有两个参数:public B(C c, D d){}

A有一个B的setter

在spring xml中,我定义了嵌套在A中的Bean B

<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的构造函数


共 (1) 个答案

  1. # 1 楼答案

    你不能,要么你负责,要么斯普林负责。您要做的是手动连接对象,而不是使用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