spring框架(四) 三级缓存与循环依赖 | java 技术论坛-380玩彩网官网入口

1.循环依赖
首先我们需要明白什么是循环依赖 , 打个比方 , 就是说a对象在创建的过程中 , 需要依赖注入b对象 , 但是b对象没有 , 就需要去创建 , 而在创建b对象的过程中又需要注入a对象 , a对象此时还在创建中,所以就构成了一个死循环 , a,b相互依赖 这样的关系被成为循环依赖(当然 , 可能还会有其他的情况),下面我们就来看看spring是如何让解决循环依赖的

2.一二三级缓存
三个缓存对应着三个不同的map

一级:singletonobjects
这个缓存也就是单例池 , 它存放的是完整的经过bean生命周期的bean

二级:earlysingletonobject
这个缓存存放的一个残疾bean , 怎么理解呢?就是创建到一半就放进去了

三级:singletonfactories
这个缓存存放的是objectfactory , 表示用来 创建早期bean 对象的工厂
3.情况一
a , b对象相互依赖

比如现在有两个service , 分别是aservice和bservice

本作品采用《cc 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
0
收藏
0
排名:3490
访问:64
社区赞助商
网站地图