循环依赖
一:.要理解循环依赖需要先理解bean的生命周期,在两个bean的生命周期内,ABA循环依赖导致报错。
二:.解决办法,
1通过配置让springboot允许循环依赖。这个底层是通过spring的三级缓存实现的。一级缓存存放完整的bean.二级缓存防止bean的动态代理重复。三级缓存,通过提供一个动态代理而非实际实现来赋值bean的属性,完成bean的实例化。
2.通过@lazy实现,因为懒加载在实例化时不用提供bean的实际实现,而是提供一个动态代理就可以了。第一次访问的时候才实现。这样就不存在启动时的循环依赖了。

浙公网安备 33010602011771号