在spring中实例化依赖项

时间:2010-11-21 17:24:05

标签: java spring

您好 如果A类是由spring实例化的。在类A中我实例化了B类的另一个对象(使用new运算符进行常规实例化)我可以通过实例化类A来实例化B类的依赖吗?

class A{
    Xdao xDao;
    B bvar = new B();
}

Class B {
    Ydao yDao;
}

有没有办法在实例化类A ??

时直接注入依赖ob类B.

有类似的东西:( dependecy属性只是一个例子)

<bean id="classA"  dependecy="classB"> 
    <property name="xDao" ref="xDao" /> 
</bean> 

<bean id="classB"  > 
    <property name="yDao" ref="xDao" /> 
</bean> 

提前感谢。

我想避免将另一个属性(或构造函数)设置为嵌套对B类的调用 因为我不想改变现有的代码。

2 个答案:

答案 0 :(得分:1)

你应该让Spring处理所有的实例化和注入。这意味着您应该classB注入classA

<bean id="classA"> 
    <property name="xDao" ref="xDao" /> 
    <property name="bvar" ref="classB" /> 
</bean> 

<bean id="classB"> 
    <property name="yDao" ref="xDao" /> 
</bean>

然后,摆脱你的new B()

class A {
    Xdao xDao;
    B bvar;
}

class B {
    Ydao yDao;
}

答案 1 :(得分:0)

当您调用“new”时,该对象不受Spring的控制。

注入或调用“新” - 它是一个或另一个。