SeamFramework.orgCommunity Documentation

部分 I. ä½¿ç”¨å…·å¤‡ä¸Šä¸‹æ–‡çš„对象

The Web Beans (JSR-299)规范为Java EE环境定义了一套服务以便开发者能够更轻松地开发应用。Web Beans在现有的包括JavaBeans和企业JavaBeans在内的Java组件类型之上增强了生命周期和交互的模型层。作为传统的Java EE编程模型的补充,Web Beans服务提供了:

依赖注入和具备上下文的生命周期管理节省了开发者出于对接口的不熟悉而不得不处理下列问题所浪费时间:

一个Web Bean仅仅需要指定它所依赖的其他Web Bean的类型和语义。它不需要知道他所依赖的任何Web Bean的实际生命周期,具体的实现,线程模型或者这个Web Bean的其他客户端。更棒的是,它所依赖的Web Bean的具体实现和生命周期,线程模型可以根据部署场景而更改,却丝毫不影响任何客户端。

事件,拦截器和装饰器增强了这个模型固有的松耦合特性:

最重要的是,Web Beans以一种类型安全的方式提供所有的特性。Web Beans从来不使用基于字符串的标识符来决定交互的对象如何关联在一起。至于XML, 虽然它仍旧是一个选项,但也可以几乎不使用。取而代之,Web Bean使用Java对象模型的类型信息和一种新的绑定注释模式将Web Beans和它们的依赖以及拦截器,装饰器和事件消费者关联在一起。

Web Beans服务是相当普遍的,可以应用在下列Java EE环境中的组件类型中:

Web Beans甚至提供了必要的整合点,以便未来的Java EE规范或者其他非标准的框架中的不同组件能够和Web Beans轻松整合,使用Web Beans服务以及和任何其他类型的Web Bean交互。

Web Beans受到了包括Seam, Guice和Spring在内的很多现有的Java框架的影响。然而,Web Beans具有自己鲜明的特性:在类型安全方面优于Seam,比Spring更加具备状态和使用更少的XML, 比Guice更加具备Web和企业应用的能力。

最重要的是,Web Beans是一个JCP标准,能够干净地整合到Java EE中。Web Beans也可以整合到任何使用轻量的内嵌EJB的Java SE环境中。