下载此文档

第19章 Spring的IoC.ppt


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/ 37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 37 下载此文档
文档列表 文档介绍
第19章 Spring的IoC
本章将详细深入地探讨Spring框架的控制反转实现(Inversion of Control,IoC)原理。Spring框架所提供的众多功能之所以能成为一个整体,正是创建在IoC的基础之上,因此对这一内涵简单、外延丰富的技术有必要进行详细的介绍。
Bean工厂
IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。如图所示,Spring中IoC容器就是对象的加工厂,可以按照元数据填充和组装Java对象。
创建Bean工厂
在Spring中,BeanFactory是IoC容器的核心接口。它的职责包括:实例化、定位、配置应用程序中的对象及创建这些对象间的依赖。
从本质上讲,BeanFactory仅仅只是一个维护bean定义以及相互依赖关系的高级工厂接口。通过BeanFactory可以访问bean定义。Spring提供了许多易用的BeanFactory实现,XmlBeanFactory就是最常用的一个。该实现将以XML方式描述组成应用的对象以及对象间的依赖关系。XmlBeanFactory类将持有此XML配置元数据,并用它来构建一个完全可配置的系统或应用。
使用多个文件
将XML配置文件分拆成多个部分是非常有用的。为了加载多个XML文件生成一个ApplicationContext实例,可以将文件路径作为字符串数组传给ApplicationContext构造函数。而bean factory将通过调用bean defintion reader从多个文件中读取bean定义。
通常情况下,Spring团队倾向于上述做法,因为这样各个配置并不会查觉到它们与其他配置文件的组合。另外一种方法是使用一个或多个的<import/>元素来从另外一个或多个文件加载bean定义。
获取Bean
就Spring IoC容器而言,bean定义基本上描述了创建一个或多个实际bean对象的内容。当需要的时候,容器会从bean定义列表中取得一个指定的bean定义,并根据bean定义里面的配置元数据使用反射机制来创建一个实际的对象。
当使用基于XML的元数据配置文件,可以这样来指定bean类:
<bean id="exampleBean" class=""/>
<bean name="anotherExample" class=""/>
BeanFactory的其它方法
除了getBean()方法可以取得bean的实例;BeanFactory还提供其他的方法供客户代码调用:
boolean containsBean(String):如果BeanFactory包含给定名称的bean定义(或bean实例),则返回true。
Object getBean(String):返回以给定名字注册的bean实例。根据bean的配置情况,如果为singleton模式将返回一个共享的实例,否则将返回一个新建的实例。如果没有找到指定的bean,该方法可能会抛出BeansException异常(实际上将抛出NoSuchBeanDefinitionException异常),在对bean进行实例化和预处理时也可能抛出异常
BeanFactory的其它方法
Object getBean(String, Class):返回以给定名称注册的bean实例,并转换为给定class类型的实例,如果转换失败,相应的异常(BeanNotOfRequiredTypeException)将被抛出。上面的getBean(String)方法也适用该规则。
Class getType(String name):返回给定名称的bean的Class。如果没有找到指定的bean实例,则抛出NoSuchBeanDefinitionException异常。
boolean isSingleton(String):判断给定名称的bean定义(或bean实例)是否为singleton模式(singleton将在bean的作用域中讨论),如果bean没找到,则抛出NoSuchBeanDefinitionException异常。
String[] getAliases(String):返回给定bean名称的所有别名。
配置Bean
在Spring中,那些组成应用的主体(backbone)及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由

第19章 Spring的IoC 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 37
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 中国课件站
  • 文件大小 0 KB
  • 时间2011-11-16
最近更新