什么是循环依赖

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

最典型的场景就是:

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

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

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

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

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

相关推荐
我登哥MVP3 分钟前
Spring Boot 从“会用”到“精通”:SpringBoot MVC 请求处理全流程
java·spring boot·后端·spring·mvc·maven·intellij-idea
我登哥MVP13 分钟前
Spring Boot 从“会用”到“精通”:ReturnValueHandler原理
java·spring boot·后端·spring·java-ee·maven·intellij-idea
snow@li16 分钟前
数据库:MySQL vs PostgreSQL 详尽对比(2026版)
java·mysql·postgresql
丑过三八线20 分钟前
Runc 深度解析:从原理到实操
java·linux·开发语言·docker·容器·rpc
STDD22 分钟前
ntfy 自托管推送通知服务搭建:一条 curl 命令向手机发送通知
java·开发语言·智能手机
周末也要写八哥31 分钟前
线程的生命周期之线程睡眠
java·开发语言·jvm
炸薯条!37 分钟前
二叉树的链式表示(2)
java·数据结构·算法
徐寿春1 小时前
什么是数据倾斜
java·guava
xieliyu.1 小时前
MySQL 全套入门笔记:基础、库操作、数据类型
数据库·笔记·mysql
李白的天不白1 小时前
一个服务器可以搭建多个网站
java·tomcat