SpringBoot002:循环依赖问题

===^^===

《榴芒客服系统》是我们工作室开发的在线客服系统,欢迎下载试用:

《榴芒客服系统》https://blog.csdn.net/look4liming/article/details/164755808

Spring为循环依赖问题设置了三级缓存。

当Spring发现BeanA依赖BeanB,BeanB又依赖BeanA时:

class A {

@Autowired

private B b;

}

class B {

@Autowired

private A a;

}

Spring会首先实例化BeanA,然后将其放入二级缓存,并标记好它是一个未完全装配好的Bean。

然后实例化BeanB,然后将BeanB的实例注入到BeanA中,再把BeanA的实例注入到BeanB中,然后移动到一级缓存中。

Setter注入和构造器注入无法解决循环依赖问题,会抛出BeanCurrentlyInCreationException。

三级缓存用户临时存储代理工厂产生的Bean,这些Bean还是会移动到一级缓存中。

相关推荐
字节渡客1 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
我可能是个假开发2 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
【JAVA】玩家4 小时前
Spring核心原理全解析:从零到生产实战
java·后端·spring
打工仔折腾 AI10 小时前
System Prompt 替代 Few-shot:用规则约束大模型输出的省钱实践
java·人工智能·python·spring·langchain·prompt·ai agent 实战
开开心心就好14 小时前
视频压缩工具推荐,绿色版免安装双击即用
java·前端·人工智能·spring·智能手机·intellij-idea·excel
专业程序开发源15 小时前
springboot古城景区管理系统88564-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
FYKJ_201016 小时前
SpringSecurity教室智能预约系统73972-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·spring·django
Terra.K1 天前
Spring AI day1(SSE+AI)
java·人工智能·spring·springai
Wang's Blog1 天前
Java框架 SpringCloud 快速入门: 路由断言工厂
java·spring·spring cloud
Q26433650232 天前
【有源码】基于SpringBoot+Vue的博物馆展览与服务一体化平台-java博物馆数字化展品展示与交互平台设计
java·vue.js·spring boot·spring·毕业设计·javaweb·课程设计