BeanFactory 接口提供了一个先进的配置机制,使得任何类型的对象的配置成为可能。
ApplicationContex 接口对 BeanFactory(是一个子接口)进行了扩展,在 BeanFactory 的
基础上添加了其他功能,比如与 Spring 的 AOP 更容易集成,也提供了处理 message
resource 的机制(用于国际化)、事件传播以及应用层的特别配置,比如针对 Web 应用
的 WebApplicationContext。
org.springframework.beans.factory.BeanFactory 是 Spring IoC 容器的具体实现,用来
包装和管理前面提到的各种 bean。BeanFactory 接口是 Spring IoC 容器的核心接口。
5、BeanFactory 和 ApplicationContext 有什么区别?
BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义,
以便在接收到客户端请求时将对应的 bean 实例化。
BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客
户端的配置中解放出来。BeanFactory 还包含了 bean 生命周期的控制,调用客户端的初始
化方法(initialization methods)和销毁方法(destruction methods)。
从表面上看,application context 如同 bean factory 一样具有 bean 定义、bean 关联关
系的设置,根据请求分发 bean 的功能。但 application context 在此基础上还提供了其他
的功能。
1. 提供了支持国际化的文本消息
2. 统一的资源文件读取方式
3. 已在监听器中注册的 bean 的事件
评论0
最新资源