什么是循环依赖

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

最典型的场景就是:

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

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

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

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

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

相关推荐
heartbeat..2 小时前
Java NIO 详解(Channel+Buffer+Selector)
java·开发语言·文件·nio
2401_837088502 小时前
Hot 146 LRU Cache 实现详解
java·开发语言
悟空码字2 小时前
文档变形记,SpringBoot实战:3步让Word乖乖变PDF
java·spring boot·后端
用户2190326527352 小时前
能省事”。SpringBoot+MyBatis-Plus:开发效率提升10倍!
java·spring boot·mybatis
潇I洒2 小时前
[Linux] Ubuntu中设置查看MySQL连接日志
linux·mysql·ubuntu
小楼v2 小时前
构建高效AI工作流:Java生态的LangGraph4j框架详解
java·后端·工作流·langgraph4j
jvstar2 小时前
JNI 面试题及答案
java
月度空间2 小时前
MySQL 数据库优化极简教程:快速提升性能
mysql
虾说羊2 小时前
JVM 高频面试题全解析
java·开发语言·jvm