|
|
1
12
Circular dependency injection is not required by the CDI standard
,除非循环中至少有一个bean具有
normal scope
.
对此,最简单的解决方案是给A或B一个正常的范围。
如果您不能给出任何一个正常的作用域(从代码模型来看,它们似乎都有默认的
以下是一些与其他解决方案的SO链接,您可能会发现这些链接很有帮助: MVP with CDI; avoiding circular dependency https://stackoverflow.com/questions/14044538/how-to-avoid-cdi-circular-dependency |
|
|
2
5
我通过使用解决了问题 javax.inject.Provider 明确地虽然我觉得这应该在引擎盖下通过焊接自动完成,但我也不是这样。这对我很有效,解决了我的相关问题。
我还没有测试过它,但使用一个Provider来打破这个循环就足够了,也就是说,你不需要在两个类中都使用它。 |
|
|
3
1
您应该注入一个实例<B>而不是B(和/或实例<A>而不是A) |
|
|
SteveB · CDI编译失败-注释类型不适用于此类声明 8 年前 |
|
|
Anas · Java EE的CDI未按预期工作 8 年前 |
|
|
Mario Köhler · 为什么我的CDI启动类被调用了两次? 8 年前 |
|
|
Eric B. · 如何将构造函数注入CDI与JNDI资源一起使用? 8 年前 |