编程语言
首页 > 编程语言> > java – Spring注入中的循环依赖 – 这是一个糟糕的设计吗?

java – Spring注入中的循环依赖 – 这是一个糟糕的设计吗?

作者:互联网

我遇到以下问题:

我正在尝试创建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应具有的逻辑,反之亦然.你应该重构这些类,以便ABC取决于DEF或DEF取决于ABC而不是两者.

标签:java,spring,oop,design-patterns,spring-ioc
来源: https://codeday.me/bug/20190823/1701590.html