Spring 面试题, Spring 中的 BeanFactory 是什么?
Spring 面试题, Spring 中的 BeanFactory 是什么?
QA
Step 1
Q:: Spring 中的 BeanFactory 是什么?
A:: BeanFactory 是 Spring 框架中最基本的容器接口,负责管理 Spring 应用中的 bean 对象的实例化、配置和生命周期管理。BeanFactory 使用延迟初始化机制,只有在实际需要时才会创建 bean 实例。这种机制非常适用于资源有限或启动时间敏感的应用程序。
Step 2
Q:: Spring 中的 ApplicationContext 和 BeanFactory 有什么区别?
A:: ApplicationContext 是 BeanFactory 的子接口,提供了更高级的功能,如国际化支持、事件传播、与 Spring AOP 的集成等。ApplicationContext 会在启动时实例化所有的 singleton beans,而不是像 BeanFactory 那样按需实例化。
Step 3
Q:: 如何在 Spring 中定义一个 Bean?
A:: 在 Spring 中,你可以通过 XML 配置文件、注解(如 @Component、@Service、@Repository 等)或 Java 配置类(使用 @
Bean 注解的方法)来定义一个 Bean。
Step 4
Q:: Spring Bean 的生命周期是什么?
A:: Spring Bean 的生命周期包括:实例化、属性注入、初始化、使用、销毁五个阶段。开发者可以通过实现 InitializingBean 和 DisposableBean 接口或使用 @PostConstruct 和 @
PreDestroy 注解来自定义初始化和销毁逻辑。
Step 5
Q:: Spring 中的依赖注入(DI)是什么?
A:: 依赖注入是 Spring 核心的一部分,它通过构造函数注入、Setter 方法注入、字段注入的方式将对象的依赖关系在运行时动态注入进来,从而减少类之间的耦合,使得代码更加松散耦合和易于测试。