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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
苏supper8 小时前
Spring Boot多环境配置与打包运行
spring boot·后端·spring
用户1305180712159 小时前
JDBC学习DAY2:从Statement到PreparedStatement
java
蛋蛋的就会顺顺的9 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
周杰偷奶茶9 小时前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言
橙子圆12310 小时前
JUC之集合类不安全
java·开发语言
小溪学编程11 小时前
从 C++ 的规范变迁看语言发展
jvm·c++·面试
谢亮_vipxieliang11 小时前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
源码宝11 小时前
Web‑PACS 云影像源码|Java+Vue3 医院影像管理系统完整方案
java·源码·影像pacs·成品源码·医院影像系统
ShineWinsu11 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
三84413 小时前
Fastjson 漏洞 · 02 · autoType 机制与 checkAutoType
java·fastjson