【视频笔记】Java Spring三级缓存解决循环依赖流程图和解析
spring三级缓存流程图如下:

一开始,一二三级缓存都没有A,先造一个A实例,造一个原始版本,啥属性没有,啥代理没加,先放这备着;
填充属性,发现需要B对象;spring去“仓库”找B(一二三级缓存都没有B),说明B也没造出来; 开始造B,然后填充B的属性,发现依赖A;
在一二级缓存都没有找到A,在三级缓存中找到造A的那个ObjectFactory,造出一个A的半成品,扔到二级缓存里(早起A对象);
B对象获取这个半成品A, 完成自身的创建,把创建好的B对象放入一级缓存中;
A对象从一级缓存中获取B对象,完成创建;然后二级三级缓存中的半成品A、ObjectFactory(图纸)等清除掉
浙公网安备 33010602011771号