我们先前提到过,控制反转是Spring提供的非常重要的一个功能,并且Spring的实现中的核心部分就是基于依赖注入的,同时还提供了依赖查找的功能。Spring提供自动使独立的对象合作的功能,当然这使用了依赖注入实现。在基于Spring的应用程序中,总是偏向于通过依赖注入将合作关系传递给独立的对象,而不是让独立的对象通过查找来获取合作关系。尽管依赖注入是连接独立对象使之合作的首选方案,你还是需要依赖查找来访问独立的对象。在很多环境中,Spring不能自动的将你的应用程序组件通过依赖注入连接起来,这是你必须通过依赖查找来访问刚刚初始化的一组对象。当你使用Spring MVC支持来构建一个Web应用程序时,Spring可以避免这些问题,将你的整个程序自动的粘合起来。在Spring中只要可以使用依赖注入,那你就应该尽量使用它;否则你只能求助于依赖查找的能力了。你会在本章的教程中看到两种机制的例子,我们在它们出现的地方会指出的。
Spring的IoC容器的一个有趣的功能是,它能够作为其自己的依赖注入容器和外部的依赖查找容器之间的一个适配器。
我们会在第5章中进一步分析。
Spring支持构造器依赖注入和setter依赖注入,支持标准的IoC功能和很多的有用的附加功能,这些能够使你的生活更加便利。
本章的其它部分会介绍Spring的DI容器的基本功能,配以大量的具体示例。
图书导读





