请解释Spring Boot中循环依赖的成因、默认处理机制以及常见的解决方案。
考察说明
考察对Spring依赖注入原理、循环依赖场景及解决策略的理解深度
回答思路
- 说明循环依赖的典型场景与成因,如构造器注入和字段/Setter注入的差异
- 阐述Spring三级缓存(singletonObjects、earlySingletonObjects、singletonFactories)在解决字段注入循环依赖中的作用
- 指出构造器注入导致的循环依赖无法由Spring默认机制解决,需使用@Lazy或重构
- 提及@DependsOn、@Lazy、setter/字段注入等替代方案或最佳实践
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。