1.1 IoC容器和Beans介绍

本章介绍了Spring框架中控制反转(IOC)原理的实现。IOC也称为依赖注入(DI)。它是指对象仅通过构造函数参数、工厂方法的参数或从工厂方法构造或返回对象实例后,通过在其上设置的属性来定义其依赖项(即与之一起工作的其他对象)的过程。当容器在创建bean时将会注入这些依赖项。

这个过程跟bean自己控制实例化,或者通过直接构造类或服务定位器模式来定位其依赖项的方式相反(因此称为控制反转)。

org.spring framework.beans和org.springframework.context包是Springframework的IOC容器的基础。

BeanFactory接口提供了一种高级配置机制,能够管理任何类型的对象。

ApplicationContext是BeanFactory的子接口。它添加了如下功能:

  • 更容易与Spring的AOP功能集成

  • 消息资源处理(用于国际化)

  • 事件发布

  • 应用层特定的上下文,如用于Web应用程序的WebApplicationContext

简而言之,BeanFactory提供了配置框架和基本功能,ApplicationContext添加了更多特定于企业应用的功能。ApplicationContext是BeanFactory的一个完整的超集,在本章中专门用于描述Spring的IOC容器。有关使用BeanFactory的更多信息,请参见BeanFactory

在Spring中,构成应用程序主干并由SpringIOC容器管理的对象称为bean。bean是一个由SpringIOC容器实例化、组装和管理的对象。否则,bean只是应用程序中许多对象之一。bean以及它们之间的依赖关系反映在容器使用的配置元数据中。