博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring框架IoC容器的实现类 BeanFactory 和 ApplicationContext 的区别
阅读量:6224 次
发布时间:2019-06-21

本文共 835 字,大约阅读时间需要 2 分钟。

摘自《JavaWeb开发从初学到精通》P379

SpringIoC容器就是一个实现了BeanFactory接口的可实例化类。事实上,Spring提供了两种不同的容器:一种是最基本的BeanFactory,另一种是扩展的ApplicationContext。BeanFactory 仅提供了最基本的依赖注入支持,而 ApplicationContext 则扩展了BeanFactory ,提供了更多的额外功能。实例化这两种容器时是有区别的:

(1)BeanFactory

XmlBeanFactory bFactory = new XmlBeanFactory(new ClassPathResource("Spring.xml"));

获取某个类的实例时如下:

BeansDemoClass beans = (BeansDemoClass) bFactory.getBean("beansDemoClass");

(2)ApplicationContext

ApplicationContext aContext = new ClassPathXmlApplicationContext("Spring.xml");BeansDemoClass bDemoClass = (BeansDemoClass)aContext.getBean("beansDemoClass");

二者对Bean的初始化也有很大区别。BeanFactory当需要调用时读取配置信息,生成某个类的实例。如果读入的Bean配置正确,则其他的配置中有错误也不会影响程序的运行。而ApplicationContext 在初始化时就把 xml 的配置信息读入内存,对 XML 文件进行检验,如果配置文件没有错误,就创建所有的Bean ,直接为应用程序服务。相对于基本的BeanFactory,ApplicationContext 唯一的不足是占用内存空间。当应用程序配置Bean较多时,程序启动较慢。

 

 

转载地址:http://tirja.baihongyu.com/

你可能感兴趣的文章
11-13 js操作css样式
查看>>
html5 css练习 画廊 元素旋转
查看>>
关于JS
查看>>
你得学会并且学得会的Socket编程基础知识(转)
查看>>
[Python]安装完pip、pygame后,仍然import pygame报错
查看>>
吃鸡蛋引发的血案,详解内存中的字节序
查看>>
【1139】数据结构上机测试2-2:单链表操作B (逆序建表+重复元素删除)
查看>>
C++ 内存管理之三(栈和堆)
查看>>
Windows7 64bit 安装python3.3 & cx_Freeze-4.3.2
查看>>
手写web服务器
查看>>
也谈 Python 的中文编码处理
查看>>
[LeetCode] LRU Cache
查看>>
OpenStack若干概念
查看>>
AttributeToElement
查看>>
php使用循环创建任意长度数组
查看>>
站立会议03
查看>>
POJ3068:"Shortest" pair of paths——题解
查看>>
上传本地文件到github(码云)上(小乌龟方式,sourcetree方式)
查看>>
微软Holographic将更名为Windows Mixed Reality
查看>>
豪情哥的忠告 能做到这一条就够用了
查看>>