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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
编程小风筝17 分钟前
编写java代码如何写文档注释?
java·开发语言
与衫36 分钟前
如何将SQLFlow工具产生的血缘导入到Datahub平台中
java·开发语言·数据库
m0_4750645044 分钟前
SpringAI-1-集成DeepSeek
java
好家伙VCC1 小时前
**发散创新:编译器优化实战——从LLVM IR到性能飞跃的奇妙旅程**
java·开发语言·python·算法
Anastasiozzzz1 小时前
如何理解AOP?带你写一个!
java·开发语言
礼拜天没时间.1 小时前
Docker Registry私有仓库搭建与使用
java·运维·docker·云原生·容器·centos
追随者永远是胜利者1 小时前
(LeetCode-Hot100)70. 爬楼梯
java·算法·leetcode·职场和发展·go
前路不黑暗@1 小时前
Java项目:Java脚手架项目的阿里云短信服务集成(十六)
android·java·spring boot·学习·spring cloud·阿里云·maven
海南java第二人1 小时前
Flink运行时组件深度解析:Java工程师的架构设计与实战指南
java·大数据·flink
WJX_KOI1 小时前
保姆级教程:Apache Flink CDC(standalone 模式)部署 MySQL CDC、PostgreSQL CDC 及使用方法
java·大数据·mysql·postgresql·flink