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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
SuperEugene11 分钟前
从 Vue2 到 Vue3:语法差异与迁移时最容易懵的点
前端·vue.js·面试
用户83071968408211 分钟前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide35 分钟前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家1 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺1 小时前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
SuperEugene1 小时前
接口类型管理:从 any 到有组织的 api.d.ts
前端·面试·typescript
用户908324602731 小时前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
牛奶1 小时前
ts随笔:基础与类型系统
前端·面试·typescript
用户73992986959722 小时前
DeepSeek/GPT-4 落地实战:我如何用 Node.js + AI 手搓一个“面试神器”
面试
牛奶2 小时前
JS随笔:浏览器 API(DOM 与 BOM)
前端·javascript·面试