Gavin King提供Web Beans预览(JSR 299)反映受Guice启发的依赖注入特征

Gavin King发布了即将面世的Web Beans(JSR 299)规范的4部分预览(1,2,3,4)。Web Beans由JBoss发起,旨在填补在JEE 5中Web层和事务层之间的断层。JSR的成员包括Sun、Oracle和Google。King表示该组件模型深深地受到了Google Guice和Seam的影响。

本系列的第一部分对该技术进行了介绍:

……Web Beans是与两个层中的技术都兼容的组件模型。Web Beans能与JSF和EJB3都集成,允许EJB3会话Bean扮演JSF管理Bean,这样就统一了两个组件模型。此外,Web Beans提供了会话模型和持久化上下文管理,因而解决了状态管理问题以及影响JSF和JPA的最优化事务管理问题……Web Beans是包含业务逻辑的应用组件。Web Beans可以被Java代码直接调用,或通过统一EL被调用。Web Beans可以访问事务性资源。Web Beans间的依赖自动的被Web Beans容器管理。大多数Web Beans是有状态和上下文相关的。Web Beans的生命周期总是被容器管理……

本系列的第二部分涵盖了规范的注入、绑定标注和组件类型。支持的注入类型包含:

  • Direct Field
  • Method
  • Constructor
  • Parameter

本系列的第三部分提供了通过XML替代标注声明组件的例子。最后,King论及了作用域、上下文和解析器方法。可用的作用域如下:

  • @RequestScoped
  • @SessionScoped
  • @ApplicationScoped
  • @ConversationScoped

正如被期望的,如此数量庞大的内容已有了相同数量级的评论。其中一个较为有趣的言论是:

在过去的几年间,有非常多的言论谈及Interface 21或许应该正式推动Spring框架成为JEE规范的一部分——只要Rod Johnson正式宣布对JEE 6的支持,这似乎是有可能的……嗯,看起来“疯狂的”Bob Lee和Guice背后的团队可能已经找到了让自己抢先挤入这场聚会的后门——根据关于即将面世的Web Beans的新一系列的文章来看,新规范的确被Seam和Guice联合影响了……我发现这些文章有趣之处在于Google明显采用了JBoss的方式去支持JCP——那就是,创建一个独立的产品填补JEE规范中的一整块,然后利用JCP使那个产品成为规范本身(JPA就是前车之鉴)……

类似的评论可在这些文章本身中找到:

非常有趣——其中与Seam有明显的联系,但这是我第一次看到任何与Guice团队有牵连的东西……我不得不怀疑“Web Beans”这一术语是否准确……

King针对它的回答:

Seam可能最终将分成两层:1) 核心组件引擎,它将发展成Web Beans RI   2) 框架层,它将提供所有的内置组件、JSF组件等等……Bob为这个规范已经贡献了极大的努力和心血。

查看英文原文:Gavin King Provides Web Beans Preview (JSR 299) Featuring Guice Inspired Dependency Injection

你可能感兴趣的:(Gavin King提供Web Beans预览(JSR 299)反映受Guice启发的依赖注入特征)