Spring传递依赖注入

时间:2010-04-04 05:01:13

标签: spring dependency-injection

如果我通过构造函数注入递归依赖项,那么它会给我一个异常,而如果我使用setter则不会。这是为什么?

1 个答案:

答案 0 :(得分:3)

你的意思是A有B,而B有A,你试图将它们互相注入吗?从逻辑上讲,您描述的行为是有道理的。

A a = new A()
B b = new B()
a.setB( b )
b.setA( a )

看起来很好,但这应该是什么样的?

A a = new A( b )
B b = new B( a )

无论你如何重写第二组,你都不能通过使用构造函数创建一个依赖于B的A.