BeanFactory与ApplicationContext
1.BeanFactory与ApplicationContext关系区别
Spring 框架IOC 容器的核心接口是BeanFactory和ApplicationContext。BeanFactory是 IOC 容器的最基本版本,ApplicationContext在BeanFactory的基础上扩展出特性功能。BeanFactory负责配置、创建、管理Bean。spring Ioc容器的实现,从根源上是beanfactory,但真正可以作为一个可以独立使用的ioc容器还是DefaultListableBeanFactory
spring ioc 2个核心类 :BeanFactory、ApplicationContext
可以独立使用的核心子类 DefaultListableBeanFactory,GenericApplicationContext ,AnnotationConfigApplicationContext
- beanFactory
Spring对IOC容器的最高层的抽象
提供各种获取Bean的方法
默认实现: DefaultListableBeanFactory
- ApplicationContext
实现了BeanFactory的所有方法
功能更加齐全支持后处理与事件机制
常用实现: AnnotationConfigApplicationContext
| 功能特性 | BeanFactory | ApplicationContext |
| Bean注入 | 有 | 有 |
| Bean生命周期管理 | 没有 | 有 |
| 自动注入BeanPostProcessor | 没有 | 有 |
| 自动注入BeanFactoryPostProcessor | 没有 | 有 |
| ApplicationEvent事件发布 | 没有 | 有 |
2.上下文与bean工厂和资源的代码关系
通过组合做到代码重用
GenericApplicationContext
getBeanFactory()代理
getResource 也是
3.继承关系



4.类图解析
上下文和bean工厂关系

浙公网安备 33010602011771号