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还是会移动到一级缓存中。

相关推荐
砍材农夫2 小时前
spring|spring web|拦截器、过滤器、aop
java·spring boot·spring·spring cloud
Bs_MoneyMagnet14 小时前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
步行cgn19 小时前
Spring 底层如何创建对象:反射机制与实例化策略
java·后端·spring
步行cgn21 小时前
Spring 注入 null 和空字符串详解
数据库·spring·oracle
Wang's Blog1 天前
Java框架快速入门: Spring Security+OAuth2之单点登录(SSO)实战
服务器·spring·状态模式
譕痕1 天前
Idea 集成 智能体开发工具“千问(qwen)”
java·ide·spring·语言模型
步行cgn1 天前
Spring 注入内部 Bean 详解
java·spring·rpc
前端初见1 天前
Java+AI零基础入门到大牛
java·spring boot·spring·java-ee·intellij-idea
天天喝旺仔1 天前
深入理解 JWT:从 Token 结构、签名机制到前后端鉴权实战
redis·安全·spring·微服务·https