面试题:
1.解释一下spring中的三级缓存?
2.三级缓存分别是什么?三个map有什么异同?
3.什么是循环依赖?请你谈谈?看过spring源码吗?一般我们说的spring容器是什么?
4.如何检测是否存在循环依赖?实际开发中见过循环依赖的异常吗?
5.多例的情况下,循环依赖问题为什么无法解决?
概念:
循环依赖:多个bean之间相互依赖,形成了一个闭环。比如A依赖于B、B依赖于C、C依赖于A
question ;
一般问spring容器内部如何解决循环依赖,一定是指默认的单例Bean中,属性互相引用的场景
用构造器注入方式无法解决循环依赖
用seeter方式可以
spring内部是通过三级缓存来解决循环依赖的 ---- DefaultSingletonBeanRegistry