前言
每日一题专栏
Spring在Bean创建过程中是如何解决循环依赖的?
循环依赖只会存在在单例实例中,多例循环依赖直接报错。
A类实例化后,把实例放map容器中,A类中有一个B类属性,A类实例化要进行IOC依赖注入,这时候B类需要实例化,B类实例化跟A类一样,实例化后方map容器中。B类中有一个A类属性,接着B类的IOC过程,又去实例化A类,这时候实例化A类过程中从map容器发现A类已经在容器中了,就直接返回了A的实例,依赖注入到B类中A属性中,B类IOC完成后,B实例化就完全完成了,就返回给A类的IOC过程。这就是循环依赖的解决。