模型服务连接失败

BeanFactory 和 ApplicationContext 有什么区别?

Java
分类
未分配
难度
未设置
来源数
1
更新时间
2026/03/29 15:43

答案

两者都为我们提供了实例化bean和获取bean的能力。 ApplicationContext继承了BeanFactory,拥有更加丰富的功能,比如继承了MessageSource,支持国际化,能同时加载多个配置文件,提供了统一的资源访问。 此外,BeanFactory采用的是懒加载的方式,也就是当我们要使用这个bean了,才会去实例化创建,但这可能会导致我们要等到第一次调用getBean才会报错。而ApplicationContext则是在容器启动的时候,一次性创建了所有的bean,这样有助于检查是否有配置错误,并且需要用的时候也不需要等待。这样做的坏处是,可能会占用较大的空间,并且启动时较慢。

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(框架).md

knowledge_note
Question 12: BeanFactory 和 ApplicationContext 有什么区别? Source answer: 两者都为我们提供了实例化bean和获取bean的能力。 ApplicationContext继承了BeanFactory,拥有更加丰富的功能,比如继承了MessageSource,支持国际化,能同时加载多个配置文件,提供了统一的资源访问。 此外,BeanFactory采用的是懒加载的方式,也就是当我们要使用这个bean了,才会去实例化创建,但这可能会导致我们要等到第一次调用getBean才会报错。而ApplicationContext则是在容器启动的时候,一次性创建了所有的bean,这样有助于检查是否有配置错误,并且需要用的时候也不需要等待。这样做的坏处是,可能会占用较大的空间,并且启动时较慢。 Reviewed answer: ApplicationContext 继承 BeanFactory,功能更丰富,如国际化、资源访问、事件机制等;BeanFactory 常被认为偏基础且多为懒加载,ApplicationContext 通常在容器启动时预实例化单例 Bean。