Java
- 分类
- 未分配
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 15:43
答案
两者都为我们提供了实例化bean和获取bean的能力。 ApplicationContext继承了BeanFactory,拥有更加丰富的功能,比如继承了MessageSource,支持国际化,能同时加载多个配置文件,提供了统一的资源访问。 此外,BeanFactory采用的是懒加载的方式,也就是当我们要使用这个bean了,才会去实例化创建,但这可能会导致我们要等到第一次调用getBean才会报错。而ApplicationContext则是在容器启动的时候,一次性创建了所有的bean,这样有助于检查是否有配置错误,并且需要用的时候也不需要等待。这样做的坏处是,可能会占用较大的空间,并且启动时较慢。
相关题目(5)
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(框架).md
knowledge_noteQuestion 12: BeanFactory 和 ApplicationContext 有什么区别?
Source answer: 两者都为我们提供了实例化bean和获取bean的能力。 ApplicationContext继承了BeanFactory,拥有更加丰富的功能,比如继承了MessageSource,支持国际化,能同时加载多个配置文件,提供了统一的资源访问。 此外,BeanFactory采用的是懒加载的方式,也就是当我们要使用这个bean了,才会去实例化创建,但这可能会导致我们要等到第一次调用getBean才会报错。而ApplicationContext则是在容器启动的时候,一次性创建了所有的bean,这样有助于检查是否有配置错误,并且需要用的时候也不需要等待。这样做的坏处是,可能会占用较大的空间,并且启动时较慢。
Reviewed answer: ApplicationContext 继承 BeanFactory,功能更丰富,如国际化、资源访问、事件机制等;BeanFactory 常被认为偏基础且多为懒加载,ApplicationContext 通常在容器启动时预实例化单例 Bean。