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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
梓德原2 分钟前
【C语言】C语言如何向系统接要存
java·c语言·算法
WX-bisheyuange6 分钟前
基于Spring Boot的流浪动物管理系统
java·spring boot·后端
阿蔹6 分钟前
Selenium---控制窗口、manage()方法
java·selenium·测试工具·面试
0和1的舞者8 分钟前
Postman接口测试全攻略:传参技巧与实战解析
学习·测试工具·spring·springmvc·postman·web·开发
兩尛11 分钟前
HJ52 计算字符串的编辑距离
java·开发语言·算法
Mr-Wanter12 分钟前
底层架构设计浅解
java·分布式·微服务
ArabySide12 分钟前
【Spring Boot】Interceptor的原理、配置、顺序控制及与Filter的关键区别
java·spring boot·后端
武子康13 分钟前
Java-183 OSS 上传实战:Java 原生与 Spring Boot 集成
java·开发语言·spring boot·分布式·spring·阿里云·oss
爱笑的源码基地15 分钟前
智慧工地云平台源码,采用Java+SpringCloud+UniApp+MySql技术,支持多端展示,具备集团级多级权限管理。
人工智能·后端·spring·spring cloud·源码·智慧工地·工地智能管理
ALex_zry18 分钟前
Rust语言基础分析与C++对比:系统编程的现代演进
java·c++·rust