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工厂关系

 

posted @ 2022-08-12 18:25  windge  阅读(51)  评论(0)    收藏  举报