BeanFactory与Application的区别
更新时间:2023-04-22 09:32:01 阅读量: 实用文档 文档下载
BeanFactory与Application的区别
BeanFactory与Application的区别
在Spring中,两个最基本最重要的包是 org.springframework.beans 和 org.springframework.context. 这两个包中的代码为Spring的反向控制 特性(也叫作依赖注射)提供了基础。 BeanFactory提供了一种先进的配置机制来管理任何种类bean(对象),这种配置机制考虑到任何一种可能的存储方式。 ApplicationContext建立在BeanFactory之上,并增加了其他的功能,比如更容易同Spring AOP特性整合, 消息资源处理(用于国际化),事件传递,以声明的方式创建ApplicationContext, 可选的父上下文和与应用层相关的上下文(比如WebApplicationContext),以及其他方面的增强。
简而言之,BeanFactory提供了配置框架和基本的功能, 而 ApplicationContext为它增加了更强的功能,这些功能中的一些或许更加接近J2EE并且围绕企业级应用。一般来说,ApplicationContext是BeanFactory的完全超集, 任何BeanFactory功能和行为的描述也同样被认为适用于ApplicationContext
用户有时不能确定BeanFactory和ApplicationContext中哪一个在特定场合下更适合。 通常大部分在J2EE环境的应用中,最好选择使用ApplicationContext, 因为它不仅提供了BeanFactory所有的特性以及它自己附加的特性,而且还提供以声明的方式使用一些功能, 这通常是令人满意的。BeanFactory主要是在非常关注内存使用的情况下 (比如在一个每kb都要计算的applet中)使用,而且你也不需要用到ApplicationContext的所有特性。
这一章粗略地分为两部分,第一部分包括对BeanFactory和ApplicationContext都适用的一些基本原则。第二部分包括仅仅适用于ApplicationContext的一些特性
生成BeanFactory的方法
InputStream is = new FileInputStream("beans.xml");
XmlBeanFactory factory = new XmlBeanFactory(is);
//或者
ClassPathResource res = new ClassPathResource("beans.xml");
XmlBeanFactory factory = new XmlBeanFactory(res);
生成ApplicationContext方法
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext( new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("");
applicationContxt是可以转换成beanFactory的
BeanFactory factory = (BeanFactory) appContext;
Beans被定义为两种部署模式中的一种:singleton或non-singleton。 (后一种也别叫作prototype,尽管这个名词用的不精确因为它并不是非常适合)。 如果一个bean是singleton
BeanFactory与Application的区别
形态的,那么就只有一个共享的实例存在, 所有和这个bean定义的id符合的bean请求都会返回这个唯一的、特定的实例。
如果bean以non-singleton,prototype模式部署的话,对这个bean的每次请求都会创建一个新的bean实例。这对于例如每个user需要一个独立的user对象这样的情况是非常理想的。
<bean id="exampleBean"
class="examples.ExampleBean" singleton="false"/>
<bean name="yetAnotherExample"
class="examples.ExampleBeanTwo" singleton="true"/>
正在阅读:
BeanFactory与Application的区别04-22
广西南宁市2016高考英语单项选择和阅读理解暑假自练(4)及答案09-11
单片机实验报告 209-17
高中生感恩的心演讲稿03-12
岁月神偷作文500字06-17
煤矿掘进支护工培训试题库 (1)05-21
人教版八年级物理2-1《声音的产生与传播》专项练习(含答案) (624)07-27
后钢板弹簧吊耳说明书终结版04-07
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- BeanFactory
- Application
- 区别
- 江苏省淮安市泾口镇初级中学2022-2022学年上学期八年级语文假期
- 新版GMP质量风险管理培训教材【绝对经典】
- 初中生逃课检讨书范文三篇
- 人教版小学三年级上册数学期末测试卷及答案密卷
- 2012年上半年北师大版三年级数学期末检测试题
- 人教版新课标八年级上英语情景交际
- 课题1_质量守恒定律_ppt
- 点火系统(奥迪班课件)
- 广播电视编导考试名词解释
- 基于多重分形的聚类层次优化算法
- 2010成都教师公招教育基础知识课堂笔记
- 《西安石油大学学报》(社会科学版)2006年总目次
- 2012私人银行财富管理方案
- 新概念英语第三册课文(中英文对照)
- 照明用LED驱动技术及应用
- 2012高一数学必修2第二章测试题及答案解析
- HG-T4132-2010工业磷酸氢二铵
- 循证医学与传统医学
- 重大固定资产投资项目社会稳定风险分析篇章和评估报告编制大纲及
- 丙烯酸及酯废水处理方法研究进展