Spring如何解决循环依赖?
创始人
2024-05-30 16:37:25
0

前提:不能解决 1、构造器注入 2、多例

解决:set注入、@Autowire注入

Spring通过三级缓存解决循环依赖:A - > B ,B -> A

singletonObjects 一级缓存(单例池)

earlySingletonObjects 二级缓存

singletonFactories 三级缓存

1、实例化 A 对象之后,将 A 放入三级缓存。

2、对A对象进行属性填充时,需要注入B 对象,之后实例化对象B,B对象也将自己放入三级缓存

3、B 对象属性填充时查询A对象步骤:

从三级缓存中查找——>从二级缓存中查找——>从一级缓存中查找

从三级缓存中查找A对象,找到以后注入A对象,然后将A对象从三级缓存中删除,

执行相关扩展操作将A对象放入二级缓存。

4、B对象实例化、属性填充以后,A对象再进行进行属性填充。

相关内容

热门资讯

川报早读丨数个第一!我国十四五... 转自:四川日报 5年经济增量预计将超过35万亿、连续15...
直面汛情大考 守护一方平安 转自:贵州日报 入汛以来,黔南州平均降水量625.6毫米,较常年同期偏多42%。受连续强降雨叠加影响...
美债收益率集体下跌,10年期美... 每经AI快讯,周三(7月9日),美债收益率集体下跌,2年期美债收益率跌5.39个基点报3.839%,...
利好医药、新材料领域!中国科学... 转自:上观新闻近日,中国科学技术大学徐铜文教授、汪耀明特任教授和李震宇教授团队联合攻关,在氘代化学品...
专班推进迁改保障光伏玻璃项目建... 转自:贵州日报 贵州日报天眼新闻记者 李丽 李卓檬 7月3日,在贵州炉碧经济开发区的贵州黔玻永太新...
提升基金净值公允性 多家公募机...   本报记者 方凌晨  近日,财通基金、路博迈基金、易方达基金等多家公募基金管理人对旗下基金持有股票...
美油、布油基本持平,纽约天然气... 格隆汇7月10日|WTI 8月原油期货收涨0.02美元,涨幅约0.03%,报68.35美元/桶。布伦...
黔南渔业船舶水上安全应急演练在... 转自:贵州日报 本报讯(记者 王维维)7月4日,黔南州2025年渔业船舶水上安全应急演练在罗甸县举行...
台江交下村乡亲出题 干部回应 转自:贵州日报 本报讯(记者 李卓檬 通讯员 蔡琪)7月2日,在黔东南州台江县南宫镇交下村水库旁的篮...
南京市妇幼保健院康养中心正式启... 转自:南京晨报 7月8日,南京市妇幼保健院康养中心正式启用。该中心位于南京市妇幼保健院丁家庄...