1.1 Spring IoC容器和Beans简介 #
本章介绍Spring框架中控制反转(IoC)理念的实现。IoC也称为依赖注入(DI)。这是一个过程,对象仅通过构造函数参数、工厂方法的参数、在对象实例构造或从工厂方法返回后在对象实例上设置的属性来定义它们的依赖关系(即它们使用的其他对象)。然后,容器在创建这个bean时注入这些依赖项。这个过程基本上是bean本身通过使用类的直接构造或服务定位器模式等机制来控制其依赖项的实例化或位置完全相反(因此称为控制反转)。
org.springframework.bean
和org.springframework.context
包是Spring框架中IoC容器的基础。BeanFactory
接口提供了一种高级配置机制,能够管理任何类型的对象。ApplicationContext
是BeanFactory
的子接口。它补充了:
- 更容易与Spring的AOP功能集成
- 信息资源处理(用于国际化)
- 事件发布
- 应用层特定的上下文,如web应用程序中使用的
WebApplicationContext
。
简而言之,BeanFactory
提供了配置框架和基本功能,ApplicationContext
添加了更多特定于企业级的功能。ApplicationContext
是BeanFactory
的完整超集,在本章中专门用于描述Spring的IoC容器。有关使用BeanFactory
而不是ApplicationContext
的更多信息,请参阅[BeanFactory]。
在Spring中,构成应用程序主干并由Spring IoC容器管理的对象称为bean。bean是由Spring IoC容器实例化、装配和管理的对象。除此之外,bean只是应用程序许多对象中的一个。bean以及它们之间的依赖关系反映在容器所使用的配置元数据中。