17.2.3. 为什么使用Plexus?

目前Spring是最流行的IoC容器。它影响了Java的“生态系统”,迫使如Sun Microsystems之类的公司让出更多的对于开源社区的控制,并通过提供一个更易插入的,面向组件的“总线”来帮助开发一些标准。但是Spring不是唯一的开源IoC容器。事实上有很多IoC容器(如PicoContainer)。

很多年以前,当Maven被创建的时候,Spring并不是一个成熟的选项。最初的Maven提交者团队更熟悉Plexus因为正是他们发明了Plexus,因此他们决定使用Plexus做为Ioc容器。虽然它没有Spring Framework流行,但并不是说它的功能没那么强大。而且,事实上它是由创建Maven的同一个人发明的,这使其更适合Maven。阅读本章之后你会了解Plexus如何工作。如果你使用过一个IoC容器你会看到Plexus和你使用的另外一个IoC容器的相似性和差异性。

Note

Maven基于Plexus并不意味着Maven社区是“反Spring”的(我们在本书中包含了整整的一章关于Spring样例的内容,Spring项目的一部分也转移到Maven作为构建平台)。由于“你们为什么不用Spring”这个问题经常出现,因此在这里解释这个问题。我们知道,Spring是一个明星,我们并不拒绝它,但为人们介绍Plexus仍然是我们持续要做的工作:软件产业中,更多的选择总是好事。