springboot2.4.4两个bean 相互依赖注入的问题

业务中遇到一种情况,有order 和order_report两张表,分别记录指令和指令下发记录。当插入指令时需要也插入一条指令下发记录;新增指令下发记录时,也要更新指令记录的当前处理人字段。于是orderService 中需要注入 orderRecordService,于是orderRecordService 中需要注入 orderService 。就导致了两个bean想互引用的情况。在springboot2.4.4版本,注解方式的相互引用不会导致启动报错,应当尽可能避免此种情况。
spring的解决机制 可以参考 https://blog.csdn.net/w1lgy/article/details/81086171
解释的比较详细。
避免出现相互注入的情况可以参考以下方法:
1.创建新的服务类,将orderRecordService和orderRecordService注入到你创建的新类。
2.在orderRecordService中直接调用orderRecordService的dao层(此方法不太适合mybatisplus,dao层很多是隐藏的默认sql,需要自己自定义方法,自己编写sql);
注意:如果在orderRecordService中使用new方式创建orderRecordService对象一定要慎重,如果orderRecordService继承了父类对象,那么父类对象中自动注入的成员无法注入成功,无法调用。具体情况可以参考我的另一篇博客
https://blog.csdn.net/qq_27037397/article/details/115612458

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值