Spring循环依赖
1 依赖三级缓存
2 对应单例ban,在AbstractBeanFactory里的doGetBean,它里面会有个getSingleton方法,它在创建bean之前会执行beforeSingleCreation,将bean设置成正在创建中
3 在Bean实力化完成后,对应单例的,执行循环依赖的,并且再创建中的Bean会把它放到三级缓存中,使用的是addSingletonFactory(beanName, () -> getEarlyBeanReference(beanName, mbd, bean));方法