`

Spring之BeanFactory与ApplicationConText区别

阅读更多

 

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

 

 

 

分享到:
评论

相关推荐

    day38 05-Spring的BeanFactory与ApplicationContext区别

    NULL 博文链接:https://364232252.iteye.com/blog/2369489

    Spring中ApplicationContext和beanfactory区别.rar

    Spring中ApplicationContext和beanfactory区别.rar

    Spring入门.docx

    (2)BeanFactory与ApplicationContext: ApplicationContext内部封装了BeanFactory,功能更加强大。 加载xml文件使用ClassPathXmlApplicationContext("applicationContext.xml") (3)BeanFactory(bean工厂)与...

    高级开发spring面试题和答案.pdf

    Spring中BeanFactory和ApplicationContext的区别 谈谈Spring IOC的理解,原理与实现? bean的生命周期,详细看上面 SpringBoot自动装配的过程的原理: spring的缓存; spring是如何解决的循环依赖; BeanFactory和...

    最全的Spring考题与答案

    一共近百道题与完整答案Spring框架的优点都有什么?...spring 中的BeanFactory与ApplicationContext的作用和区别?Spring如何实现资源管理?如何在web应用里面配置spring?。。。。。。 适合面试、学习、总结与复习.

    spring 容器.docx

    Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。 Bean是Spring管理的...

    SpringFramework常见知识点.md

    - BeanFactory和ApplicationContext的区别是什么? - 什么是IOC容器和DI依赖注入? - Spring依赖注入的方式有几种? - 一个bean的定义包含了什么?(BeanDefinition) - bean的作用域有哪些? - Spring 的扩展点主要...

    25个经典的Spring面试问答

    BeanFactory和ApplicationContext有什么区别 Spring有几种配置方式 如何用基于XML配置的方式配置Spring 如何用基于Java配置的方式配置Spring 怎样用注解的方式配置Spring 请解释Spring Bean的生命周期 Spring Bean的...

    Spring的IoC容器(《Spring揭秘》的精选版)

    Spring的IoC容器之BeanFactory 4.1 拥有BeanFactory之后的生活 4.2 BeanFactory的对象注册与依赖绑定方式 4.3 BeanFactory的XML之旅 4.4 容器背后的秘密 4.5 小结 Spring IoC容器ApplicationContext 5.1 统一资源...

    spring面试题25道图文并茂的spring面试题

    1. 什么是Spring框架?Spring框架有哪些主要模块? 2. 使用Spring框架有什么好处? 3. 什么是控制反转(IOC)?...5. BeanFactory和ApplicationContext有什么区别? 等。。。。。。。。。。。。。。。。

    Spring面试专题.pdf

    5、BeanFactory 和 ApplicationContext 有什么区别? 6、Spring 有几种配置方式? 7、如何用基于 XML 配置的方式配置 Spring? 8、如何用基于 Java 配置的方式配置 Spring? 9、怎样用注解的方式配置 Spring? 10、...

    Spring面试题.zip

    5、BeanFactory 和 ApplicationContext 有什么区别? 6、Spring 有几种配置方式? 7、如何用基于 XML 配置的方式配置 Spring? 8、如何用基于 Java 配置的方式配置 Spring? 9、怎样用注解的方式配置 Spring? 10、...

    Spring的Bean配置

    Spring IOC和DI概述,Bean的配置形式,IOC容器BeanFactory和ApplicationContext概述,依赖注入的方式,属性注入,构造器注入等案例

    spring课堂笔记.docx

    Spring 容器:介绍了 Spring 容器的不同类型,包括 BeanFactory 和 ApplicationContext,以及它们在管理对象生命周期和依赖注入方面的作用。 依赖注入:详细解释了依赖注入的原理和用法,以及如何配置和管理 Bean ...

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

    在前面两篇文章中,我们已经对ApplicationContext的大部分内容做了介绍,包括国际化,Spring中的运行环境,Spring中的资源,Spring中的事件监听机制,还剩唯一一个BeanFactory相关的内容没有介绍,这篇文章我们就来...

    Spring面试专题1

    2、使用Spring框架能带来哪些好处 3、什么是控制反转(IOC) 5、BeanFactory和ApplicationContext有什么区别 2、FileS

    Java面试 spring知识点 线程池 面试题

    Spring原理 2 Spring ioc 原理 3 ...beanfactory和applicationcontext 5 类装载器ClassLoader 6 Spring aop 原理 6 Aop代理 7 Spring 事物 10 数据库锁 12 ThreadLocal 13 Spring TaskExecutor线程池 16

    spring培训-笔记

    ApplicationContext 21 Spring的AOP框架 21 Spring的数据层访问 22 Spring的声明式事务 22 Spring对其它企业应用支持 22 注:后面的内容我将不再完善,但网上的朋友可以帮助完善,只需注明住处即可。

    Spring教程  主要内容:介绍Spring的历史,Spring的概论和它的体系结构,重点阐述它在J2EE中扮演的角色。

    作者:钱安川(Moxie) 注:后面的内容我将不再完善,但网上的朋友可以帮助完善,只需注明...ApplicationContext 21 Spring的AOP框架 21 Spring的数据层访问 22 Spring的声明式事务 22 Spring对其它企业应用支持 22

    开源框架 Spring Gossip

    简介 Spring Inversion of Control Dependency Injection <br> 核心容器 Spring 核心容器实作了 IoC,BeanFactory 与 ApplicationContext 的运用是了解 Spring 的重点所在。 管理 Bean...

Global site tag (gtag.js) - Google Analytics