`
luguangshan
  • 浏览: 5166 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

spring 中ApplicationContext和BeanFacotry区别

    博客分类:
  • java
阅读更多
1,两者都是通过xml配置文件加载bean,ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常;而ApplicationContext则在初始化自身是检验,这样有利于检查所依赖属性是否注入;所以通常情况下我们选择使用ApplicationContext.


2,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
分享到:
评论

相关推荐

    Spring中ApplicationContext和beanfactory区别.rar

    首先,BeanFactory是Spring中最基础的bean管理容器,它遵循Java的工厂设计模式,负责管理和控制bean的生命周期。BeanFactory提供了加载配置元数据、实例化bean、注入依赖、管理bean生命周期等基本功能。当我们在配置...

    Spring中ApplicationContext加载机制

    Spring中ApplicationContext加载机制 ApplicationContext 是 Spring 框架中的核心组件之一,负责加载和管理应用程序中的 Bean 对象。在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供...

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

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

    spring的Applicationcontext对事件的监听,实现类似MQ的效果

    在Spring框架中,`ApplicationContext`不仅是一个容器,用于管理Bean的生命周期和依赖注入,它还提供了事件发布和监听的功能。这个特性使得Spring应用能够实现组件间的异步通信,类似于消息队列(MQ)的工作模式。...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    标题提到的"spring为ApplicationContext提供的3种实现",是指Spring框架中用于初始化和管理bean的三种主要类,它们分别是: 1. ClassPathXmlApplicationContext:这是最常用的ApplicationContext实现之一,通过读取...

    Spring中ApplicationContext对事件传递

    在Spring中,所有自定义事件都需要继承`ApplicationEvent`类。例如,我们可以通过以下方式定义一个用户事件: ```java public class UserEvent extends ApplicationEvent { private String eventContent; public...

    三、Spring源码分析——ApplicationContext

    总的来说,ApplicationContext作为Spring的核心组件,扮演着应用程序的“大脑”角色,它负责管理和协调整个Spring容器中的Bean。理解并掌握ApplicationContext的工作原理和使用技巧,对于深度开发和优化Spring应用至...

    spring 获得applicationcontext公用方法

    本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`ShipOrderRecipientImpl.java`和`MyApplicationContextUtil.java`来分析可能的实现方式。 1. `ApplicationContext`概述...

    利用spring的ApplicationContext在程序中唤醒quartz的job

    在Spring中,我们通常会通过`@Service`注解标记此类,并使用`@Autowired`注解注入所需的其他服务或DAO。服务类可能会有一个方法来启动或唤醒Quartz Job,这个方法可能会调用Quartz的`Scheduler`接口的相关方法。 接...

    Spring 2.5-applicationContext.xml提示信息的配置

    在Spring框架中,`applicationContext.xml`是应用上下文的核心配置文件,用于定义bean的创建、依赖关系以及各种服务的配置。这篇博文“Spring 2.5 - applicationContext.xml提示信息的配置”主要探讨了如何在Spring ...

    day38 05-Spring的BeanFactory与ApplicationContext区别

    首先,BeanFactory是Spring中最基本的bean容器,它提供了对bean实例化、配置和管理的基本功能。通过BeanFactory,开发者可以注册bean定义,然后在运行时按需获取bean实例。BeanFactory支持延迟初始化,这意味着bean...

    spring3.0 + Quartz1.52 + applicationContext.xml

    2. **配置Scheduler**:在`applicationContext.xml`中,我们需要创建一个`SchedulerFactoryBean`,这是Spring对Quartz Scheduler的封装,它负责初始化和管理Scheduler实例。例如: ```xml ...

    Spring[applicationContext.xml]灵活性代理

    在Spring中,有两种代理模式:JDK动态代理和CGLIB代理。 1. JDK动态代理:当目标bean实现了至少一个接口时,Spring会使用Java的反射API创建一个代理类,该类实现了目标bean的所有接口,并在调用接口方法时插入增强...

    spring中通过ApplicationContext getBean获取注入对象的方法实例

    本文将详细介绍如何在Spring中通过`ApplicationContext`的`getBean`方法获取注入对象,并通过实例来展示其使用。 首先,我们来看`ApplicationContextAware`接口,它是Spring提供的一个回调接口。当Spring容器创建了...

    Spring配置文件ApplicationContext

    Spring配置文件ApplicationContext,内容齐全,有需要的可以下载。

    spring2.5的applicationContext配置文件

    在Spring框架中,`applicationContext.xml`是核心的配置文件,它定义了bean的实例化、依赖注入、服务的装配以及整个应用上下文的行为。在Spring 2.5版本中,这个配置文件引入了许多增强的功能,提升了开发效率和灵活...

    《Spring的数据源配置文件模板》applicationContext.zip

    以上就是Spring中配置数据源的基本步骤,通过`applicationContext.xml`文件,你可以根据项目需求灵活调整数据源配置,确保数据库连接的高效和稳定。在实际开发中,你可能还需要考虑更多因素,比如数据库连接池的优化...

    spring applicationContext.xml详细配置

    在Spring框架中,`applicationContext.xml`是核心配置文件,用于定义bean的声明、依赖注入、数据源配置、事务管理等。在这个配置文件中,我们可以深入理解Spring如何管理和协调应用程序的各个组件。以下是对`...

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    总的来说,理解并熟练运用Spring中Bean的生命周期和ApplicationContext,能帮助开发者更高效地设计和维护Spring应用,同时利用国际化和事件传递提高应用的灵活性和可扩展性。在实践中,这些概念和机制是构建复杂、...

Global site tag (gtag.js) - Google Analytics