您好 如果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类的调用 因为我不想改变现有的代码。
答案 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的控制。
注入或调用“新” - 它是一个或另一个。