spring singleton循环依赖的一个探索
这两天稍微看了一点spring bean生成的源码,算是自己探索了一点点东西,感觉这块稍微明白了一点,下面定义的A和B都是Singleton
注意!:如果A是构造器依赖,B是Setter依赖,A和B循环依赖时,如果先加载的是B,则不会出现循环依赖异常,因为B加载时会先将未依赖A的B实例放入缓存,然后递归到A进行有参数构造器初始化,这时A可以拿到B的实例完成注入,然后B也可以依赖A
但是反过来不行,如果先加载A,那么A会执行有参数的构造器,这时没有A的实例构造出来,缓存中没有A,在构造A前递归构造B,虽然
原创
2021-09-10 16:29:45 ·
104 阅读 ·
0 评论