Spring 注入中的循环依赖 - 这是糟糕的设计吗?
Circular dependency in Spring injection - Is this bad design?
我遇到了以下问题:
我正尝试按如下方式创建 bean:
@Bean
public abc createABC() {
return new ABC(--, def(),--);
}
`
@Bean
public DEF def() {
return new DEF(--, createABC(),--
}
任何解决此问题的建议,而无需更改为基于 setter 的注入。它是糟糕设计的标志吗?在我的情况下,这种依赖是必须的。请提供您对此的看法
it the indicative of bad design?
当然可以。如果 ABC
依赖于 DEF
而 DEF
依赖于 ABC
,则间接意味着你的代码没有被正确组织。这种循环依赖通常表明您没有遵守单一职责原则。
ABC
有 DEF
和 vice-versa 应该有的逻辑。您应该重构这些 类,使 ABC
依赖于 DEF
或 DEF
依赖于 ABC
,但不能同时依赖于两者。
我遇到了以下问题:
我正尝试按如下方式创建 bean:
@Bean
public abc createABC() {
return new ABC(--, def(),--);
}
`
@Bean
public DEF def() {
return new DEF(--, createABC(),--
}
任何解决此问题的建议,而无需更改为基于 setter 的注入。它是糟糕设计的标志吗?在我的情况下,这种依赖是必须的。请提供您对此的看法
it the indicative of bad design?
当然可以。如果 ABC
依赖于 DEF
而 DEF
依赖于 ABC
,则间接意味着你的代码没有被正确组织。这种循环依赖通常表明您没有遵守单一职责原则。
ABC
有 DEF
和 vice-versa 应该有的逻辑。您应该重构这些 类,使 ABC
依赖于 DEF
或 DEF
依赖于 ABC
,但不能同时依赖于两者。