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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
shan&cen1 分钟前
内网穿透(FRP)部署小结,服务器上xxl-job 调度本机任务
java·服务器
〝七夜5695 分钟前
jdk1.8新增的类以及常用的方法有哪些?
java
万岳科技程序员小金6 分钟前
在线教育系统源码选型对比:PHP、Java、Flutter、UniApp谁更适合?
java·uni-app·php·软件开发·在线教育系统源码·教育app开发·教育软件开发
EB_Coder8 分钟前
前端面试题-JavaScript中级篇
前端·javascript·面试
心灵宝贝8 分钟前
sw_64架构 docker-ce-cli rpm 安装方法(附安装包)
后端·spring·spring cloud
hazhanglvfang9 分钟前
使用curl测试java后端post接口
java·开发语言
雨中飘荡的记忆12 分钟前
设计模式之建造者模式详解
java·设计模式·建造者模式
雨中飘荡的记忆12 分钟前
StepBuilder模式详解
java·建造者模式
通义灵码13 分钟前
Java 后端开发工程师使用 Qoder 实现面向 API 的运维平台前端开发
java·运维·状态模式
-大头.14 分钟前
Spring消息集成:从企业模式到云原生
java·spring·云原生