- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5. IoC 容器
5. IoC 容器
Prev Part III. 核心技术 Next
5. IoC 容器
5.1 Spring IoC容器和Bean概述
本章介绍了Spring框架实现控制反转 (IoC) [1] 的原理。IoC也被称作 依赖注入 (DI)。它是一个处理对象依赖项的过程,也就是说,和他们一起工作
的其他的对象,只有通过构造参数、工厂方法参数或者 (属性注入)通过构造参数实例化或通过工厂方法返回对象后再设置属性。当创建bean后,
IoC容器再将这些依赖项注入进去。这个过程基本上是反转的,因此得名 控制反转 (IoC), This process is fundamentally the inverse, hence the
name Inversion of Control (IoC), of the bean itself controlling the instantiation or location of its dependencies by using direct construction of classes,
or a mechanism such as the Service Locator pattern.
org.springframework.beans和org.springframework.context包是Spring框架IoC容器的基础。 BeanFactory接口提供了一个先进的配置机
制能够管理任何类型的对象。 ApplicationContext(应用上下文) 是BeanFactory的一个子接口。它增加了更方便的集成Spring的AOP功能、消息
资源处理 (使用国际化)、事件发布和特定的应用层,如在web应用层中使用的WebApplicationContext。
总之,BeanFactory提供了配置框架和基本功能,ApplicationContext则添加了更多的企业特定的功能。ApplicationContext
是BeanFactory的一个完整的超集,并且在本章专门用于指代Spring容器。关于更多使用BeanFactory替代ApplicationContext的信息,参考
Section 5.16, “The BeanFactory”。
在Spring 中,被Spring IoC 容器 管理的这些来自于应用主干的这些对象称作 beans 。bean是一个由Spring IoC容器进行实例化、装配和管理的对
象。此外,bean只是你应用中许多对象中的一个。Beans以及他们之间的 依赖关系 是通过容器使用 配置元数据 反应出来。
5.2 容器概述
org.springframework.context.ApplicationContext接口代表了Spring IoC容器,并且负责上面提到的Beans的实例化、配置和装配。容器通
过读取配置元数据获取对象如何实例化、配置和装配的指示。配置元数据可以用XML、Java注解或Java代码来描述。它允许你表示组成你应用的对
象,以及对象间丰富的依赖关系。
Spring提供了几个开箱即用的ApplicationContext接口的实现。在独立的应用程序中,通常创建 ClassPathXmlApplicationContext 或
FileSystemXmlApplicationContext的实例。 虽然XML是定义配置元数据的传统格式,但是你可以指示容器使用Java注解或者代码作为元数据格
式,你需要通过提供少量XML配置声明支持这些额外的元数据格式。
在大多数的应用场景,不需要显式的代码来实例化一个或多个Spring IoC容器。例子,在wei应用中,在应用的web.xml文件中,简单的8行样板式的
xml配置文件就足够了。如果你使用 Spring Tool Suite 的Eclipse开发环境,你只需要点几下鼠标或者键盘就可以轻松的创建这个配置。
下面的图表是一个Spring工作的高级别视图。你的应用程序类都通过配置元数据进行关联,所以在ApplicationContext创建和初始化后,你就有
了一个完全配置和可执行的系统或应用程序。
Figure 5.1. Spring IoC容器
5.2.1 配置元数据
如上图所示,Spring IoC容器
文档评论(0)