Java 如何在spring框架中启用循环引用?

Java 如何在spring框架中启用循环引用?,java,spring,Java,Spring,大家好 有时在我的应用程序中,逻辑迫使我使用循环引用 我想知道如何在spring中启用此配置?spring对循环引用没有问题BeanA可以与BeanB连接,反之亦然。只有在代码中自己介绍循环引用时,循环引用才会出现问题 如果您有具体问题,请详细说明。请查看 我会从第一个选项那里得到建议。循环依赖不是一个好迹象,应该避免。例如,您可以创建第三个助手类 其他两个选项是变通方法,以后将更难理解和调试。我的循环引用解决方案将对象拆分为两个,共享一个接口。一个是实现,另一个是委托。该实现通过对委托的引用进

大家好 有时在我的应用程序中,逻辑迫使我使用循环引用
我想知道如何在spring中启用此配置?

spring对循环引用没有问题
BeanA
可以与
BeanB
连接,反之亦然。只有在代码中自己介绍循环引用时,循环引用才会出现问题

如果您有具体问题,请详细说明。

请查看

我会从第一个选项那里得到建议。循环依赖不是一个好迹象,应该避免。例如,您可以创建第三个助手类


其他两个选项是变通方法,以后将更难理解和调试。

我的循环引用解决方案将对象拆分为两个,共享一个接口。一个是实现,另一个是委托。该实现通过对委托的引用进行初始化,并在其init方法中将反向依赖项注入委托中

通过这样做,Spring将只看到从实现指向委托的引用。如果任何对象在初始化时需要使用代理,这将不起作用,但这可能是一个更容易解决的问题


更多信息请参阅我的博客。

我有Dao1和Dao2:1-in-Dao1我自动连线Dao2-in-Dao2我自动连线Dao1我的逻辑迫使我这样做,我得到了BEANCURRENTLYINCRATION的豁免,因为循环引用,我想允许这种类型的自动连线或做一个变通。@sword101:请将这些细节添加到原始问题中,有具体的例子。@sword101在这种情况下,您可能应该将该逻辑向上移动到您的服务层中,并将两个DAO自动连接到服务中。ApplicationContextAware仍然是解决循环依赖性问题的最佳方法吗?我可以在这篇文章中找到解决循环依赖性问题的一系列方法。链接现在已失效。如果你复制了相关的部分会很有帮助。从回程机器上打捞上来的