Plexus概覽
Plexus提供完整的軟體棧,用於創建和執行軟體項目。基於Plexus容器,應用程式可以利用面向組件的編程方式來構建模組化,容易集成和重複使用的可復用組件。
雖然Plexus跟其他控制反轉(IoC)或依賴注入(DI)框架相似,比如Spring框架 ,事實上它更是一個支持如下許多功能的全面的容器:
●組件生命周期
●組件實例化戰略
●嵌套容器
●組件配置
●自動布線
●組件依賴關係,並各種依賴注入技術,包括構造函式注入,setter注入和私人領域的注入。
Plexus框架內置了一些比較常用開發組件和工具集,如Jetty,Velocity,Hibernate,國際化等。Plexus可以利用你為其他IoC框架編寫的組件,如:Spring、Avalon和Pico,而不需要做任何的修改,就跟在Plexus中使用已經存在的代碼一樣。
Plexus內置一個套用伺服器,可以運行您的套用,這使得構建一個可獨立運行並具有像執行服務這類的一般性功能的發布版本變得相當簡單 。然而,通過將Plexus容器嵌入到其他的套用中Plexus套用能夠運行在任何環境,包括Java EE應用程式或Web應用程式。
Plexus組件不需要Java編寫,而是使用已經存在的針對Jython, JRuby, Beanshell, 和Groovy的組件工廠。
Pleuxs容器在很多框架和項目中被使用,尤其在Maven2.0和WebWork 2.2(也就是strusts2框架)中。
Overview英文對照
The Plexus project provides a full software stack for creating and executing software projects. Based on the Plexus container, the applications can utilise component-oriented programming to build modular, reusable components that can easily be assembled and reused.
While Plexus is similar to other inversion-of-control (IoC) or dependency injection frameworks such as the Spring Framework, it is a full-fledged container that supports many more features such as:
Component lifecycles Component instantiation strategies Nested containers Component configuration Auto-wiring Component dependencies, and Various dependency injection techniques including constructor injection, setter injection, and private field injection. See the Feature Comparison page for more information on the differences between Plexus and other products.
The Plexus project provides a number of pre-built components for common tasks and toolkits such as Jetty, Velocity, Hibernate, i18n, and many more. However, Plexus is also able to reuse your existing components written for other IoC frameworks such as Spring, Avalon and Pico Container unmodified, as well as allowing you to reuse your existing code inside the Plexus Container.
Plexus comes with an application server that can run your applications, making it trivial to build a standalone executable distribution with common features such as service execution if needed. However, Plexus applications can be run in any environment by embedding the container in an existing application, including Java EE applications or web applications.
Components in Plexus need not be written in Java, with component factories existing for Jython, JRuby, Beanshell, and Groovy.
The Plexus container is currently used in a number of applications and frameworks, most notably Maven 2.0 and Webwork 2.2 (Struts Action Framework 2.0).
For answers to common questions about Plexus, see the FAQ.