💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
SpringBoot循环依赖
循环依赖是指两个或多个模块或组件之间相互依赖形成闭环的情况。这种情况下,模块 A 依赖于模块 B,同时模块 B 也依赖于模块 A,导致它们之间形成了一个循环依赖
解决思路
重构代码:重新组织代码结构,将循环依赖的部分解耦或重构为单向依赖关系
引入中间层:引入一个中间层或接口,将循环依赖的部分通过中间层进行间接访问,从而打破循环依赖
使用依赖注入:通过依赖注入框架,将依赖关系的创建和管理交给框架处理,从而避免显式的循环依赖
梳理依赖关系:仔细审查和梳理模块之间的依赖关系,确保依赖关系的合理性和正确性
Spring Boot中如果在Service层调用Repository,而Repository又需要调用Service层,可以通过引入一个中间层来解决循环依赖问题,这个中间层可以是一个额外的Service或者一个专门处理业务逻辑的组件
Spring Boot中解决循环依赖问题的一种常见方法是引入一个中间层,将代码提升到更高的层级,然后通过该中间层进行调用。这种方式可以打破循环依赖,确保代码的正确执行顺序
- SpringBoot中注入中间层依赖,通过调用中间层方法
@Resource private InRefund inRefund;
inRefund.add(new RefundAdd(bean.getUniqueId(), bean.getTradeAmount(), "ChargebackWarnRefund", true));
- InRefund接口
public interface InRefund { Result add(RefundAdd add); }
- 实现类
@Slf4j @Service public class InRefundImpl implements InRefund { @Resource …… @Override public Result add(RefundAdd add) { …… } }
🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——
点赞
👍收藏
⭐️评论
📝