1
2021-08-24 00:34:21 4 举报
1
作者其他创作
大纲/内容
标记正在创建B
把A工厂放入三级缓存
删除三级缓存和二级缓存中的B对象,放入到一级缓存
生成代理对象A,但是判断当初有没有生成过代理A对象,如果有则直接返回原生A
createBean
原生的A getBean(A)
初始化Bean(B)
删除三级缓存和二级缓存中的A,并放入一级缓存
实例化B
删除创建B的标记
生成代理A注入到原生B中
把代理B注入到原生的A
createBeanA
初始化A
原生的B getBean(B)
实例化A
属性注入代理B
从三级缓存拿到代理A的对象,并从三级缓存中删掉A,代理A移到二级缓存中
标记正在创建
从三级缓存中调用工厂方法属性注入代理A
生成代理对象B
把B工厂放入三级缓存
得到原生A
删除正在创建A的标识
从二级缓存拿出代理A,直接替换原生A返回
0 条评论
下一页