Spring循环依赖三级缓存

 

 

 

A依赖B,B依赖A  

Spring 创建,加载到bean工厂:A在创建的过程,发现用到了B对象,于是把A丢在了三级缓存中,接着去创建B对象

在创建B对象的过程中发现需要依赖A,(单例模式在会存在缓存)于是就去一级缓存去查找,没有就去二级,还没有就去三级,最后发现A对象,于是就把A放到二级缓存中,在把三级缓存中的A删掉

此时B已经创建好了并把自己放到一级缓存中(此时B中属性还没有赋值),于是创建A对象,接着spring就让A就拿着这个没有属性值的B创建了A这个bean,并将A放到一级缓存中

posted @ 2023-09-01 11:28  一个有理想的猿  阅读(2)  评论(0)    收藏  举报