后端经典面试题合集, 什么是 IOC,简单讲一下 Spring IOC 的实现机制?
后端经典面试题合集, 什么是 IOC,简单讲一下 Spring IOC 的实现机制?
QA
Step 1
Q:: 什么是IOC?简单讲一下Spring IOC的实现机制?
A:: IOC(Inversion of Control,控制反转)是一种设计原则,指的是对象获取其依赖的方式被反转,由容器来管理对象的生命周期和依赖关系。Spring IOC 容器通过配置文件或注解定义对象及其依赖关系,容器在启动时创建并管理这些对象,自动注入它们的依赖。Spring IOC 的核心实现机制包括 BeanFactory 和 ApplicationContext,前者提供了基础的 IOC 容器功能,而后者在此基础上添加了更多的企业级功能。
Step 2
Q:: Spring IOC 中的 Bean 是什么?如何定义一个 Bean?
A:: 在 Spring 中,Bean 是由 Spring IOC 容器管理的对象。在 Spring IOC 中,Bean 是通过配置文件(如 XML)或注解(如 @Component, @Service, @Repository 等)定义的。容器在启动时会自动扫描这些定义并实例化相应的对象。可以使用 @
Bean 注解在配置类中手动定义 Bean。
Step 3
Q:: Spring IOC 中的依赖注入有哪几种方式?
A:: Spring IOC 支持三种主要的依赖注入方式:构造器注入、Setter 注入和接口注入。构造器注入是通过类的构造函数传递依赖,Setter 注入是通过 setter 方法注入依赖,接口注入(不常用)是通过特定接口方法传递依赖。
Step 4
Q:: 什么是 Spring 的 Bean 生命周期?
A:: Spring Bean 生命周期是指 Spring 容器管理的 Bean 从创建到销毁的整个过程。生命周期包括 Bean 的实例化、属性填充(依赖注入)、初始化、使用以及销毁。Spring 允许通过实现 InitializingBean 和 DisposableBean 接口,或使用 @PostConstruct 和 @
PreDestroy 注解来定制初始化和销毁行为。