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

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能