`

BeanFactory 和 ApplicationContext 的 比较 区别

阅读更多

BeanFactory 还是 ApplicationContext?
简单的说:除非你有更好的理由,否则尽量使用ApplicationContext,下面是对于哪些"为什么"等等更深入的建议

ApplicationContext包含BeanFactory的所有功能。通常建议比BeanFactory优先,除非有一些限制的场合如字节长度对内存有很大的影响时(Applet)。然后,绝大多数"典型的"企业应用和系统,ApplicationContext就是你需要使用的。Spring2.0及以上版本,大量使用了link linkend="beans-factory-extension-bpp">BeanPostProcessor扩展(以便应用代理等功能),如果你选择BeanFactory则无法使用相当多的支持功能,如事务和AOP,这可能会导致混乱,因为配置并没有错误。

下面的功能矩阵列出了BeanFactory提供的功能和ApplicationContext提供的功能(包括其实现)。(下一节更深度的描述了ApplicationContext比BeanFactory更强的功能。)

表 3.5. Feature Matrix特性表

特性                                                   BeanFactory   ApplicationContext
Bean 实例化/装配                                Yes                 Yes

自动 BeanPostProcessor 注册             No                  Yes

自动 BeanFactoryPostProcessor 注册  No                  Yes

便捷的 MessageSource 访问( i18n)      No                  Yes

ApplicationEvent 发送                         No                  Yes

 

分享到:
评论

相关推荐

    day38 05-Spring的BeanFactory与ApplicationContext区别

    在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入掌握Spring框架至关重要。 首先,BeanFactory是Spring中最基本的bean容器,它提供了对...

    Spring中ApplicationContext和beanfactory区别.rar

    在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...

    BeanFactory&&ApplicationContext;

    在Java的Spring框架中,`BeanFactory`和`ApplicationContext`是两个非常重要的核心概念,它们是IoC(Inversion of Control,控制反转)容器的实现,用于管理应用程序中的对象和依赖关系。理解这两个容器的区别和用途...

    Spring的IoC容器之BeanFactory[定义].pdf

    Spring的IoC容器是其核心特性之一,它通过BeanFactory和ApplicationContext两个主要接口来实现控制反转(Inversion of Control,IoC)的概念。BeanFactory作为基础的IoC容器,提供了全面的IoC服务,包括对象的注册、...

    简单了解Spring中BeanFactory与FactoryBean的区别

    BeanFactory和FactoryBean的主要区别在于: * BeanFactory是Spring IoC容器的核心接口,而FactoryBean是一个特殊的Bean。 * BeanFactory提供了Bean的实例化、管理和依赖注入等功能,而FactoryBean可以生成其他Bean...

    1开源框架面试专题及答案.pdf

    BeanFactory 和 ApplicationContext 有什么区别 > BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定 义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例...

    BeanFactory的实例化

    在 Spring 框架中,BeanFactory 是一个核心组件,负责管理和实例化 Bean。Spring 3 中提供了三种实例化 BeanFactory 的方法,下面将详细介绍这三种方法。 第一种方法:从文件系统资源实例化 BeanFactory 在 Spring...

    二、Spring源码分析——BeanFactory

    三、BeanFactory与ApplicationContext的区别 虽然BeanFactory是基础,但实际开发中更多使用的是其子类ApplicationContext。ApplicationContext除了具备BeanFactory的所有功能外,还添加了以下特性: 1. **资源加载**...

    BeanFactory创建对象.docx

    在Spring框架中,BeanFactory是核心的容器,它负责管理和创建对象,这些对象通常被称为"bean"。...在实际开发中,通常会结合使用BeanFactory和ApplicationContext,以充分利用Spring提供的各种特性。

    java自我总结面试大全.docx

    这份文档是对Java面试知识的自我总结,涵盖了Spring框架的核心概念,特别是AOP(面向切面编程)和Spring的启动过程,以及BeanFactory和ApplicationContext的区别,以及Spring Bean的生命周期。 1. **Spring的AOP...

    Spring面试专题

    3. **BeanFactory与ApplicationContext的区别** BeanFactory是Spring中最基本的容器,它负责创建、管理和查找bean。ApplicationContext则在BeanFactory的基础上增加了很多企业级服务,如国际化、事件广播、应用上...

    Spring获取ApplicationContext对象工具类的实现方法

    在Spring中,ApplicationContext(应用程序上下文)是容器的核心,负责配置和管理应用中对象的生命周期和依赖关系。在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring...

    Spring官网阅读(十三)ApplicationContext详解(下)

    在Spring应用中,通常会使用ApplicationContext来替代简单的BeanFactory,因为ApplicationContext提供了一站式的解决方案,能够更好地管理和协调复杂的系统组件。 当我们创建ApplicationContext时,可以通过XML配置...

    开源框架面试专题及答案.pdf

    在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们在管理bean上有共同之处,但也存在明显的区别。BeanFactory可以视为一个基本的bean仓库,它包含bean的定义并在需要时实例化bean,同时...

    ApplicationContext及它的3种实现

    在Spring框架中,`ApplicationContext`是`BeanFactory`接口的一个扩展,提供了更为丰富的功能和服务。它不仅继承了`BeanFactory`的所有特性,还增加了如资源加载、消息源国际化、事件发布等高级特性。这使得`...

    spring2.0语法着色文档

    Spring框架的核心在于其IoC容器,通过BeanFactory和ApplicationContext接口提供了强大的依赖注入功能。开发者可以根据项目的需要选择合适的容器类型和配置方式,以实现高效、可维护的代码结构。随着Spring框架的发展...

    大厂真题之百度-Java中级

    BeanFactory 和 ApplicationContext 有什么区别 > BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例...

    spring 获得applicationcontext公用方法

    `ApplicationContext`是Spring框架的核心组件,它是Bean工厂(`BeanFactory`)的扩展,提供了更多高级特性,如国际化支持、事件发布、AOP代理等。通常,我们可以通过XML配置文件、注解或Java配置类来创建`...

    三、Spring源码分析——ApplicationContext

    ApplicationContext通过实现BeanFactory接口,不仅能够初始化和管理Bean,还能够处理事件、国际化的消息、资源加载等。 1. **配置加载**: ApplicationContext可以从XML文件、Java配置类或者@ComponentScan注解中...

Global site tag (gtag.js) - Google Analytics