首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
spring的三级缓存
返回列表
发新帖
spring的三级缓存
[复制链接]
发表于 2025-1-3 15:15:59
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
spring的三级缓存:
Spring
容器
的“三级缓存”
Spring
容器
的整个生命周期中,单例Bean对象是唯一的。即可以使用缓存来加快访问
Spring 源码中使用了大量的 Cache 手段,此中在循环依靠题目的解决过程中就使用了“三级缓存”
三级缓存的意义
singletonObject:一级缓存,存放完全实例化且属性赋值完成的 Bean ,可以直接使用
earlySingletonObject:二级缓存,存放早期 Bean 的引用,尚未装配属性的 Bean
singletonFactories:三级缓存,存放实例化完成的 Bean 工厂
除了三级缓存,还有另外两个缓存
singletonsCurrentlyInCreation: bean 在创建的过程中都会
存储
在此,创建完成移出
alreadyCreated:存放至少被创建一次的 bean,不会重复。即标志 bean 是否创建完成
原文链接:
对于Spring循环依靠的情况总结如下:
不能解决的情况:
构造器注入循环依靠
prototype field属性注入循环依靠
能解决的情况
:
field属性注入(setter方法注入)循环依靠
spring ioc 内部的三级缓存包管了它不会出现循环依靠题目。为什么呢?
但末了循环依靠最终是设计层面的题目,应该从设计层面来制止它,以免后续体系难以维护。
回复
使用道具
举报
返回列表
浏览过的版块
SQL-Server
分布式数据库
人工智能
SAAS
数据仓库与分析
Oracle
物联网
DevOps与敏捷开发
云原生
莫张周刘王
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表