Spring Framework文档: 1.1 IoC容器和Beans介绍

核心技术

参考文档的这一部分涵盖了Spring框架绝对必要的所有技术。

其中最重要的是Spring框架的控制反转(IoC)容器。

对Spring框架的IoC容器进行彻底的了解之后,将全面介绍Spring的面向方面的编程(AOP)技术。

Spring框架拥有自己的AOP框架,该框架在概念上易于理解,并且成功解决了Java企业编程中AOP要求的80%的难题。

还提供了Spring与AspectJ的集成(目前,在功能上最丰富)以及Java企业领域中最成熟的AOP实现。

1. IoC容器

本章介绍了Spring的Inversion of Control(IoC)容器。

1.1 IoC容器和Beans介绍

本章介绍了Spring框架中控制反转(IOC)原理的实现。IOC也称为依赖注入(DI)。

它是指对象仅通过构造函数参数、工厂方法的参数或从工厂方法构造或返回对象实例后,通过在对象上设置的属性来定义其依赖项(即与之一起工作的其他对象)的过程。当容器在创建bean时将会注入这些依赖项。

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

org.spring framework.beansorg.springframework.context包是Spring Framework的IOC容器的基础。

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

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

  • 更容易与Spring的AOP功能集成
  • 消息资源处理(用于国际化)
  • 事件发布
  • 应用层特定的上下文,如用于Web应用程序的WebApplicationContext

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

有关使用BeanFactory的更多信息,请参见BeanFactory

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