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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
zhaokuner30 分钟前
12-深层模型与重构-DDD领域驱动设计
java·开发语言·设计模式·架构
weixin_4407305040 分钟前
java面向对象OPP-三大特性
java·开发语言·python
No芒柠Exception1 小时前
Spring Boot 实现分片上传、断点续传与进度条
java·后端
k***92161 小时前
如何在C++的STL中巧妙运用std::find实现高效查找
java·数据结构·c++
仙人掌一号1 小时前
React 白屏机制原理分析[共1500字,阅读时长8min]
前端·javascript·面试
君爱学习1 小时前
Spring AI简介
java
EnzoRay1 小时前
注解
java
宇宙之大,无奇不有(一个玩暗区的人)1 小时前
[NOIP 2011 普及组]T1 数字反转
java·开发语言·算法
技术小泽1 小时前
搜索系统架构入门篇
java·后端·算法·搜索引擎
benpaodeDD1 小时前
黑马springboot1
java·开发语言·spring boot