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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
夕除15 分钟前
js--23
java
无尽的沉默20 分钟前
Thymeleaf 表达式
java·开发语言·前端
无尽的沉默21 分钟前
Spring Boot 整合 Thymeleaf 模板引擎
java·前端·spring boot
Java后端的Ai之路27 分钟前
【JDK】-JDK 11 新特性内容整理(很全面)
java·开发语言·后端·jdk
莫寒清33 分钟前
Java 中 == 与 equals() 的区别
java·面试
冬夜戏雪34 分钟前
腐烂橘子/课程表 相关
java
番茄去哪了37 分钟前
苍穹外卖day07---Redis缓存优化与购物车功能实现
java·数据库·ide·spring boot·spring·maven·mybatis
毕设源码-钟学长1 小时前
【开题答辩全过程】以 国产汽车的在线销售系统为例,包含答辩的问题和答案
java
亓才孓1 小时前
【MyBatis Plus】Wrapper接口
java·开发语言·数据库·spring boot·mybatis
tianzhiyi1989sq1 小时前
C++工具库之PugiXML使用指南
java·数据库·c++