spring循环依赖面试题
时间: 2023-11-07 11:00:08 浏览: 154
spring 面试题
1. 什么是Spring循环依赖?
Spring循环依赖是指两个或多个Bean之间相互依赖,形成一个循环依赖的关系。例如,Bean A依赖Bean B,而Bean B又依赖Bean A,这样就形成了一个循环依赖的关系。
2. 如何解决Spring循环依赖问题?
Spring提供了三种方式来解决循环依赖问题:
- 构造函数注入
- Setter方法注入
- 使用@Lazy注解
3. 什么是构造函数注入?
构造函数注入是指通过构造函数来注入依赖的对象。在Spring中,如果两个Bean之间存在循环依赖关系,可以通过构造函数注入来解决这个问题。通过构造函数注入,可以保证每个Bean都被完全初始化后再注入到另一个Bean中。
4. 什么是Setter方法注入?
Setter方法注入是指通过Setter方法来注入依赖的对象。在Spring中,如果两个Bean之间存在循环依赖关系,可以通过Setter方法注入来解决这个问题。通过Setter方法注入,可以保证每个Bean都被完全初始化后再注入到另一个Bean中。
5. 什么是@Lazy注解?
@Lazy注解是Spring框架中的一个注解,用于延迟初始化Bean。当一个Bean被标记为@Lazy时,Spring容器在注入依赖的时候会先创建一个代理对象,等到真正需要使用这个Bean的时候再去初始化这个Bean。在解决循环依赖问题时,可以通过@Lazy注解来解决循环依赖问题。
阅读全文