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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
kyriewen36 分钟前
别再这样写 async/await 了:我在 Code Review 中见过最多的 8 个错误
前端·javascript·面试
人活一口气4 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
烬羽6 小时前
字符串算法入门:从反转字符串到回文判断,面试不再慌
算法·面试
云技纵横6 小时前
一个 @Async,把 @Transactional 的事务边界打穿了
后端·面试
想要成为糕糕手6 小时前
Harness Engineering:大模型时代的“马鞍”——从记忆层开始,让AI真正为你所用
面试·ai编程·claude
NE_STOP6 小时前
Vibe Coding -- 完整项目案例实操
java
荣码6 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing6 小时前
Google第三方授权登录
java·后端·程序员
明月光8186 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑15 小时前
Mybatis实现批量插入
java·后端·mybatis