什么是循环依赖

循环依赖是指两个或者多个bean之间相互引用,形成了一个闭环。

最典型的场景就是:

比如Spring正在创建Bean A,发现它依赖B,于是就去创建B,结果在创建B的时候,又发现它依赖A。

但是这个时候A正在创建中,还没有完全生成,这样B就拿不到A的引用,所以该咋办呢?

这里又分为构造器注入Setter注入两种情况:

如果是构造器注入,那好办,Spring直接就给你抛出BeanCurrentlyInCreationException错误。

如果是Setter注入,Spring则是通过三级缓存机制来解决。

相关推荐
SimonKing5 分钟前
开源神器 Navop:数据库+SSH+终端+AI,一个应用全搞定
java·后端·程序员
爱码猿8 分钟前
SpringBoot+MybatisPlus动态数据源
java·spring boot·后端
小义_9 分钟前
JDK 深度解析
java·linux·开发语言·python·面试
奈斯先生Vector30 分钟前
从“能调用”到“可运营”:AI Agent 进入多模型时代后的架构升级
java·javascript·数据库·人工智能·算法·架构·aigc
Json____33 分钟前
宿舍安全卫生检查系统:Node 全栈开发实战
java·前端·数据库·毕业设计·课程设计·毕设·wwwoop.com
pnoker36 分钟前
36 个驱动模块:应对协议碎片化
java·物联网·modbus·工业互联网·opc ua
码上有光36 分钟前
Linux:进程控制和进程替换
java·linux·服务器·进程控制·进程替换
默辨38 分钟前
我用Java后端的视角读了一遍JoyAgent-JDGenie
java·开发语言
2601_9620715743 分钟前
基于DataX迁移MySQL到OceanBase集群
数据库·mysql·oceanbase
SQL-First布道者44 分钟前
⚡ Spring JDBC 完整体系 · 第 5 讲 · Spring Boot Starter JDBC
java·spring boot·spring·mybatis·spring jdbc