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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
不简说几秒前
JS 代码技巧 vol.1 — 10 个让代码少写 30% 的小套路
前端·javascript·面试
tachibana25 分钟前
hot100 课程表(207)
java·数据结构·算法·leetcode
神仙别闹6 分钟前
编写基于C++ Huffman 算法的无损压缩程序和解压程序
java·c++·算法
Mr_凌宇18 分钟前
# AI 应用工程入门学习笔记 一
人工智能·面试·程序员
IT乐手22 分钟前
Android 写本地日志工具类
android·java
Mr_凌宇37 分钟前
AI 应用工程进阶扩展学习笔记 二
前端·面试
阿维的博客日记37 分钟前
spring里面的@RequestParam什么意思
java·后端·spring
laowangpython38 分钟前
昆仑通态 Mcgs Pro软件安装步骤(附安装包)Mcgs Pro 3.3.6 下载安装教程(保姆级)
java·服务器·数据库·其他
Hyyy1 小时前
Git Worktree 完全讲解
前端·后端·面试
罗超驿1 小时前
6.Java LinkedList深度解析:从链表原理到源码实践
java·开发语言·链表