BeanFactory与Application的区别

自从年初看了李刚写的那本《Spring2.0宝典》,好久没看过Spring任何资料,对于《Spring2.0宝典》的评价,我只能说一句话垃圾中的垃圾。我已经不敢再买国内作家写的书了。

在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);
//或者
ClassPa

时间: 2024-07-31 20:04:14

BeanFactory与Application的区别的相关文章

HttpContext.Cache和Application的区别

原文:HttpContext.Cache和Application的区别 (转载)  应用程序级的Cache和Application用户会话级的Session application的缺点是在读取时最好使用lock,unlock,损失性能的很.所以它适用那些不需要经常改动的,但又需要每个用户都可以读取到的.数据.     cache就是具有所有application的优点,然后又有自己的特点     1.基于依赖性的终止.使用关键字作为依赖项,关键字一变,cache内容无效并自动删除.     2

Environment.Exit(0) 、Application.Exit() 、this.Close() 、this.Dispose()的区别

Application.Exit:通知winform消息循环退出.程序会等待所有的前台线程终止后才能真正退出.是一种强行退出方式,就像 Win32 的 PostQuitMessage().它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口 解决方法:1. 背景线程为避免因为线程造成程序无法退出,可以将线程设置为后台线程(IsBackground = true).当然,这样一来,你需要自行处理后台线程的数据操作安全. Envi

Java 程序员 面试前必备知识

前言 正文 自我介绍 数据结构和算法 Java篇 Java EE知识点储备 计算机网络 操作系统 数据库相关 XML 常识性知识 总结 前言 准备了接近两个月的面试笔试,现在终于是可以休息下了.真真是应了那句老话"台上一分钟, 台下十年功.". 人嘛,越努力,才会越幸运.机会总是留给有准备的人的. 下面分享一下我的Java实习生准备所看过的材料,(虽然至今还有些依然看不懂地方.) 希望对这方面的同学有点帮助. 正文 自我介绍 先针对自己的情况写段自我介绍,真实一些就好了,这方面我倒是没

这里有一份面筋请查收(一)

博主毕业快满三年了,由于种种原因想换一份工作.学了7年计算机技术,在目前的行业用到的技术不多,还是想去寻找一份互联网行业的工作,这样更能学以致用发挥自己的特长.从上次更新博客到现在已经三周左右了,这三周博客基本断更了,现在找工作也基本收尾了,来聊一聊我所遇到的一些面试经历,希望给各位寻求新机会的小伙伴一个参考.总共面完8家收了7个offer,应该算是比较成功的吧.博文中主要还是聊一下技术相关的,博文中所涉及的公司均以代号标志,不便透露细节. 第一家面试的公司是一家互联网创业公司,这里简称D,博主

Spring3.x企业应用开发_IOC

Ioc概念: 包括两个内容:控制&反转 对于软件来说,是某一接口具体实现类的选择控制权从调用类中移除,转交给第三方决定.DI(依赖注入:Dependency Injection)即让调用类对某一接口实现类的依赖由第三方(容器或协作类)注入,以移除调用类对某一接口实现类的依赖. Ioc类型:从注入方法上看,主要可以划分为三种类型:构造函数注入.属性注入和接口注入. 反射在Ioc中的应用,小例子: Car.class [html] view plain copy  print? package co

《Spring技术内幕》——2.4节IoC容器的依赖注入

2.4 IoC容器的依赖注入 上面对IoC容器的初始化过程进行了详细的分析,这个初始化过程完成的主要工作是在IoC容器中建立BeanDefinition数据映射.在此过程中并没有看到IoC容器对Bean依赖关系进行注入,接下来分析一下IoC容器是怎样对Bean的依赖关系进行注入的. 假设当前IoC容器已经载入了用户定义的Bean信息,开始分析依赖注入的原理.首先,注意到依赖注入的过程是用户第一次向IoC容器索要Bean时触发的,当然也有例外,也就是我们可以在BeanDefinition信息中通过

关于Spring的LocalSessionFactoryBean的问题

问题描述 做了一个spring+hibernate的例子xml是这样的<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http:/

Spring之FactoryBean

首先要分辨BeanFactory 与 FactoryBean的区别, 两个名字很像,所以容易搞混 BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂 FactoryBean:以Bean结尾,表示它是一个Bean,不同于普通Bean的是:它是实现了FactoryBean<T>接口的Bean,根据该Bean的Id从BeanFactory中获取的实际上是FactoryBean的getObject()返回的对象,而不是FactoryBean本身, 如果要获

J2SE、JS及JavaWeb的若干知识

   1. 继承是否成立看什么什么是什么什么是否成立.先extends在implements .编译器就是靠不同的参数形式来辨别该使用哪一个构造函数.就 像我有两个同事都叫张一(相当于两个构造函数), 其中一个有小孩(一个构造函数有 参数), 而另一个没有结婚当然没有小孩啦(另一个构造函数没有参数), 如果我在办 公室里说:"张一, 你小孩病好了么?"(调用构造函数), 如果此时两个张一都在, 我 相信大家和两个张一都知道我在和谁说话呢 .如果人为的在一个类里定义了构造函数, 系统将不