`
dalezhu
  • 浏览: 207810 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BeanFactory初始化和ApplicationContext初始化比较一下

    博客分类:
  • Java
阅读更多
spring的Ioc容器根据XML配置文件来初始化Bean.需要注意的一点是,ApplicationContext初始化Bean和基
本的BeanFactory有所不同,基本的BeanFactory总是延迟加载Bean,直到第一次调用getBean("BeanId")方法
请求Bean实例时,BeanFactory才会创建这个Bean,而ApplicationContext在自身初始化时就一次性创建了
所有的Bean,了解这一点是非常重要的,因为ApplicationContext在初始化时就能验证XML配置文件的正确性.
而使用BeanFactory,直到调用getBean("BeanId")方法获取Bean实例时,才可能会发现配置错误而导致抛出
异常.
只有在非常简单的情况下,使用基本的BeanFactory才可能满足我们的需求.绝大多时候我们使用
ApplicationContext是最佳的选择.在启动的时候就能检测配置文件的错误,这比使用基本的BeanFactory
在运行一段时间后调用getBean("BeanId")抛出异常要好得多.并且,延迟加载会带来性能上的损失.
ApplicationContext由于在启动时需要一次性别实例化所有的Bean,如果定义的Bean比较多,则启动的时间
会比较长.

分享到:
评论

相关推荐

    Spring中ApplicationContext和beanfactory区别.rar

    7. **更丰富的初始化**:ApplicationContext在启动时会初始化所有单例bean,确保在应用运行时,所有bean都已准备好。 在实际应用中,我们通常推荐使用ApplicationContext,因为它提供了更为全面的特性集,适合于...

    day38 05-Spring的BeanFactory与ApplicationContext区别

    BeanFactory支持延迟初始化,这意味着bean不会在容器启动时立即创建,而是在第一次请求时才实例化,这有助于降低系统启动时的内存消耗。 然而,BeanFactory的功能相对基础,缺乏一些高级特性。例如,它不支持AOP...

    BeanFactory&&ApplicationContext;

    在`BeanFactory`中,你可以定义bean的生命周期方法,如初始化和销毁方法,并控制bean的依赖关系。它提供了一种延迟加载(lazy initialization)的能力,这意味着bean只有在真正被请求时才会被实例化。这样可以节省...

    Spring Bean创建初始化流程.docx

    1. **初始化ApplicationContext**: 开始时,通过`AnnotationConfigApplicationContext`类创建一个上下文实例,通常传入一个或多个配置类(`annotatedClasses`),这些类带有@Configuration注解,用于定义Bean的...

    Spring的IoC容器初始化源码解析

    ### Spring的IoC容器初始化源码解析 #### 一、Spring框架的核心——IoC容器 Spring框架是一个开源的轻量级Java开发框架,其核心功能是IoC(Inversion of Control,控制反转)容器和AOP(Aspect Oriented ...

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

    延迟初始化意味着在客户端真正需要使用某个对象时,BeanFactory才会对其进行初始化和依赖注入,这有助于减少启动时的资源消耗。 ApplicationContext则是BeanFactory的升级版,它不仅包含了BeanFactory的所有功能,...

    spring 获得applicationcontext公用方法

    // 在这里初始化ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); } public static <T> T getBean(Class<T> requiredType) { return context.getBean(required...

    BeanFactory创建对象.docx

    BeanFactory是Spring框架的核心,负责bean的创建、初始化和管理。理解BeanFactory的工作原理和功能对于掌握Spring的IoC机制至关重要。通过配置元数据,我们可以控制bean的实例化、初始化、作用域等多个方面,实现...

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

    ApplicationContext在初始化时会加载所有Bean的定义,并根据配置进行实例化、初始化、自动装配等一系列操作。 总的来说,BeanFactory和ApplicationContext是Spring IoC(控制反转)容器的基石。理解它们的工作原理...

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

    值得注意的是,在Web应用中,通常推荐使用ServletContextListener来初始化ApplicationContext,并将其存储在ServletContext中供整个应用使用。这样可以更加高效和方便地管理ApplicationContext的生命周期,并且能够...

    第二十章 Spring 应用上下文生命周期(ApplicationContext Lifecycle)1

    在这个阶段,AbstractApplicationContext的`prepareRefresh()`方法被调用,初始化重要的属性如启动时间startupDate和状态标识closed/active,同时初始化PropertySources以加载环境属性。此外,还会检查Environment...

    三、Spring源码分析——ApplicationContext

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

    ApplicationContext及它的3种实现

    - 自动注册监听器,以便在Web应用启动时初始化`ApplicationContext`。 - 提供了`ServletContext`作为其父上下文,从而可以访问Web应用的资源和属性。 - **示例代码**: ```java ServletContext servletContext ...

    简单模拟Spring的beanFactory

    4. **初始化处理**:bean实例化后,`BeanFactory`可以调用初始化方法,执行后置处理器(BeanPostProcessor),以及执行其他自定义逻辑。 5. **bean的管理**:`BeanFactory`会维护一个bean的注册表,以便于管理和...

    二、Spring源码分析——BeanFactory

    通过这个接口,我们可以实现对bean的创建、初始化、查找和销毁等操作。它是Spring IoC容器的基础,提供了对bean的实例化、配置、装配和管理的抽象层。 二、BeanFactory的功能 1. **对象的创建**:BeanFactory能够...

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

    ApplicationContext是Spring的核心接口,提供了比BeanFactory更高级的功能,如国际化支持和事件传播。 1. **实现国际化(i18n)**:ApplicationContext可以加载资源束文件,用于处理不同地区的消息。例如,我们可以...

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

    BeanFactory 和 ApplicationContext 有什么区别 > ...BeanFactory 还包含了 bean 生命周期的控制,调用客户端的 初始化方法(initialization methods)和销毁方法(destruction methods)。 > 从表面上看,appli

    spring学习之路(黑马课程笔记)

    Spring学习之路(黑马课程...Spring学习之路是指通过学习Spring框架来掌握IOC反转控制的关键技术,并且学习Bean的创建和管理、Bean的作用域、Bean的实例化方式、Bean的延迟加载、Bean的初始化函数和销毁函数等知识点。

    java自我总结面试大全.docx

    - 解析配置文件,转化为beanDefinition,获取bean的属性、依赖和初始化所需的处理器。 - 刷新beanFactory容器,初始化所有单例bean。 - 注册所有单例bean并返回可用的容器,通常是ApplicationContext。 3. **...

    这一次搞懂Spring的XML解析原理说明

    8. **初始化事件发布器**:初始化`ApplicationEventMulticaster`,用于发布和处理应用程序事件。 9. **初始化完成**:此时容器完全准备就绪,可以对外提供服务。 在XML解析过程中,Spring使用了`DOM`解析器来读取和...

Global site tag (gtag.js) - Google Analytics