Spring IoC容器和Bean简介
本章介绍了Spring Framework对控制反转(IoC)原则的实现。依赖注入(DI)是IoC的一种特殊形式,其中对象仅通过构造函数参数、工厂方法的参数或在对象实例构造或从工厂方法返回后设置的属性来定义它们的依赖关系(即,它们与之一起工作的其他对象)。然后IoC容器在创建bean时注入这些依赖关系。这个过程基本上是bean本身通过直接构造类或使用Service Locator模式等机制来控制其依赖项的实例化或位置(因此命名为控制反转)。
org.springframework.beans和org.springframework.context包是Spring Framework IoC容器的基础。 BeanFactory接口提供了一个高级配置机制,能够管理任何类型的对象。 ApplicationContext是BeanFactory的子接口。它增加了:
-
与Spring的AOP功能更容易集成
-
消息资源处理(用于国际化)
-
事件发布
-
应用程序特定的上下文,如用于Web应用程序的
WebApplicationContext。
简而言之,BeanFactory提供了配置框架和基本功能,而ApplicationContext添加了更多企业特定功能。 ApplicationContext是BeanFactory的完整超集,在本章中专门用于描述Spring的IoC容器。有关使用BeanFactory而不是ApplicationContext的更多信息,请参阅涵盖BeanFactory API的部分。
在Spring中,由Spring IoC容器管理的构成应用程序骨干的对象称为bean。 Bean是由Spring IoC容器实例化、组装和管理的对象。否则,bean只是应用程序中的众多对象之一。 Bean及其之间的依赖关系反映在容器使用的配置元数据中。