当前位置: 首页 > news >正文

Spring Boot解决循环依赖的几种办法

说明:Spring Boot 循环依赖,是指两个或两个以上的 Bean 对象,你装配我,我装配你,形成一个循环,导致项目启动时,无法完成 Bean 的初始化,报下面这种错误。

在这里插入图片描述

本文介绍解决循环依赖的几种方法

场景

创建了两个 Service 实现类,互相注入对方

在这里插入图片描述

解决方法一

最简单,最快捷的,是在其中一个 Bean 装配时,加上 @Lazy 注解,懒加载,如下:

在这里插入图片描述

解决方法二

重构代码,引入中间层,将互相使用到的方法加入到新的 Service 中,然后装配这个新的 Service,如下:
在这里插入图片描述

为了解决 Service1、Service2 之间的循环依赖,要额外创建两个 Service,结构如下:

(重构前)

在这里插入图片描述

(重构后:将 Service1、Service2 中互相调用的代码搬到 Service3、Service4中)

在这里插入图片描述

解决方法三

不要用自动装配,手动从 Spring 容器中获取,如下:

在这里插入图片描述

http://www.dtcms.com/a/561967.html

相关文章:

  • 成品网站免费网站下载外贸网站建设 广州
  • 网站开发费用结算wordpress 开发搜索框
  • 网站视觉规范不需要备案如何做网站
  • langchain基础
  • vue2+vuex登录功能
  • fastapi -- 耗时任务处理
  • 网站建设咨询服务企业级服务器配置
  • 做阅读任务挣钱的网站北京网站建设公司哪家最好
  • 零基础学Python_自动补全符号
  • C++14 新特性:更加简洁和高效的编程体验
  • 邹城网站设计百中搜
  • 青海省住房和城乡建设厅官方网站wordpress s.w.org
  • Apollo Planning 模块技术深度解析
  • 哪个网站可以帮助做数学题百度推送
  • 企业网站和信息化建设哪里有网站制作服务
  • 【Linux】深入理解进程(三)(环境变量)
  • 【C学生序号姓名学号年龄降序排序】2022-12-9
  • 平衡二叉树解题思路
  • 电子商务网站应该如何建设四川教育公共信息服务平台
  • 响应式官方网站便宜自适应网站建设厂家
  • 实例016 百元买百鸡问题
  • 硬件-射频学习DAY3——高频电流的“恐深症”:趋肤效应解密
  • Hudi安装部署
  • 宠物之家网站开发九江网站建设优化公司
  • 网站的360快照怎么做锦州网站seo
  • 【Android】结合View的事件分发机制解决滑动冲突
  • python 异步编程 -- 理解asyncio里的Future 对象
  • zoho crmvue做网站对seo
  • Java---System 类
  • 31.使用等待队列实现阻塞访问