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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
考虑考虑24 分钟前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫1 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev1 小时前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev1 小时前
EventBus → SharedFlow
android·java·kotlin
带刺的坐椅1 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
weedsfly2 小时前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试
用户3721574261352 小时前
Java 将一个 PPT 文档拆分为多个文件
java
Hyyy3 小时前
什么是bun?和pnpm有什么区别
前端·面试·bun
葫芦和十三12 小时前
图解 MongoDB 14|Cache 与淘汰:WiredTiger 的内存治理
后端·mongodb·面试
人活一口气17 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc