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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

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