Spring BeanFactory深度实践 Step 14
BeanFactory 是 Spring 框架中的核心组件,负责管理对象(即“bean”)。本项目“beanFactory-step14”通过逐步实践帮助开发者深入理解 BeanFactory 的工作原理。以下是关键知识点:
1. Bean的定义与作用
Bean 是 Spring 容器的基本管理单元,代表一个 Java 对象。它可以是任何类,Spring 负责其创建、配置、装配和管理。
2. BeanFactory接口
BeanFactory 是最基本的 bean 容器,提供实例化、依赖注入、生命周期管理和 Scope 管理。它是 ApplicationContext 的父接口,而 ApplicationContext 增加了企业级服务支持。
3. XML配置与Bean的声明
在传统 Spring 应用中,通过 XML 文件定义 bean 配置,包括 ID、class、属性注入等。
4. 依赖注入 (DI)
通过 BeanFactory 实现 DI,解耦 bean 之间的依赖关系,增强测试和维护性。DI 支持 XML 配置或注解实现。
5. Bean的生命周期管理
BeanFactory 管理 bean 的生命周期,包括初始化、销毁回调和定义生命周期行为(如单例 Singleton 或原型 Prototype)。
6. Scope
Scope 决定 bean 的实例化策略,Singleton 表示全局唯一实例,Prototype 表示每次请求新建实例。
7. Bean的自动装配 (Autowiring)
Autowiring 是自动为 bean 属性注入其他 bean 的过程,可以基于名称、类型或注解实现。
8. 工厂方法 (Factory Method)
工厂方法支持自定义 bean 的实例化过程,适用于需要复杂创建逻辑的 bean。
9. BeanPostProcessor
该接口允许在 bean 实例化前后执行自定义逻辑,为 bean 提供进一步定制的机会。
10. 编程式与声明式 AOP
BeanFactory 虽不直接支持 AOP,但通过 ApplicationContext 可实现,用于横切关注点,如日志或事务管理,支持编程式或注解声明式。