面试八股——Spring框架——Bean

Bean是单例的,且不是线程安全的。例子如下:下述的类变量是可修改的,当多用户访问时会造成成员变量的不一致。

Bean的生命周期

Bean对象的创建(构造+初始化赋值)

创建

初始化赋值

Bean的循环引用(又叫循环依赖)

循环依赖过程:
解决办法------三级缓存

第一级缓存存储已经完全创建好的单例Bean,第二级缓存存储还没有完全创建好的Bean对象,如只进行了构造但没有进行赋值。三级缓存创建的是ObjectFactory,即对象工厂,用于创建某个对象的。

相关推荐
小毛驴8501 分钟前
命令行中使用 Maven 启动 Spring Boot 应用
java·spring boot·maven
小王师傅662 分钟前
【Java结构化梳理】泛型-上
java·开发语言
歪楼小能手6 分钟前
Android16在开机向导最后添加一个声明界面
android·java·平板
TE-茶叶蛋8 分钟前
Maven install 的原理
java·maven
想带你从多云到转晴8 分钟前
06、数据结构与算法---二叉树
java·数据结构·算法
likerhood9 分钟前
设计模式:原型模式(Prototype Pattern)java版本
java·设计模式·原型模式
wuxuanok9 分钟前
Maven 编译报错:java.lang.NoSuchFieldError: JCImport 问题总结
java·开发语言·maven
薛定谔的猫198210 分钟前
gradio学习代码部分
java·前端·javascript
Devin~Y10 分钟前
大厂Java面试实战:Spring Boot + Redis + Kafka + Kubernetes + RAG 的三轮追问(附答案解析)
java·spring boot·redis·spring cloud·kafka·kubernetes·resilience4j