写点什么

Java EE 6 最终草案暗示了平台的未来发展方向

  • 2009-10-19
  • 本文字数:1333 字

    阅读完需:约 4 分钟

JSR-316(Java EE 6)专家组最近发布了规范的最终草案。相对于早期草案来说,最终草案有3 个重要变化,分别是增加了 JSR-330 (针对 Java 的依赖注入)、 JSR-299 (针对 Java EE 平台的上下文与依赖注入,以后称之为“CDI”)以及 JSR-303 (Bean Validation),这三个规范都将成为完整平台与 Web 的必要组件。为了搭配 CDI 与 JSR-330,专家组又提出了另一个最终草案,该草案重用了 JSR-330 中定义的依赖注入注解,同时增加了针对 EJB Session Bean 的构造注入和其他微小变化。

除了此前发布的 Web Profile 和完整的规范文档外,专家组还为 Managed Bean 增加了一个规范文档。所谓 Managed Bean,其实就是被容器当作受管理组件的一些 Java 类,它在 CDI 和 JavaServer Faces 中得到了广泛的应用。此外规范还引入了 EJB Lite,这样我们就可以在完整的 Java EE 容器外使用 EJB Session Bean 了,这意味着三种概念能独立存在于 Java EE 平台之上。类似的概念早就存在于那些广泛应用的框架中了,如 Spring 和 Seam 等。Managed Bean 支持一些基本服务,如资源注入、生命周期回调以及拦截器等等。其他规范可以构建在该定义之上并添加其他服务,比如 CDI 增加了依赖注入、EJB Session Bean 增加了事物、远程等等。Roberto Chinnic 在其博客上给出了如下示例:

给定一个 JAX-RS 资源类,你可以通过添加一个 @ManagedBean 注解、一个 EJB 组件注解(@Stateful)或是一个 CDI 注解(比如 @Default)将其转换为 Managed Bean。反之亦然,若给定的类来自于 Managed Bean 或是 EJB 组件,那么我们可以通过添加一个 JAX-RS @Path 注解将其转换为 JAX-RS 资源类。以此类推,Servlet、JAX-WS 端点类或是(大多数)Java EE 6 中的任何其他组件类型都可以这样。

虽然目前 Managed Bean 规范的影响还不算大,但它却非常重要,因为这暗示了 Sun 对于整个 Java EE 平台走行方向的想法。尽管还需要对规范加以修改以让整个 Java EE 平台符合其要求,但不难看出 Managed Bean 和 Java EE 5 平台所引入的基于注解的编程模型最终可以让开发者从 Java EE 容器所提供的众多服务和组件中按需选择。同时,简单的 Managed Bean 模型补充了平台下的扩展点和服务供应者接口,为 Java 框架和产品开发者提供了一种标准化机制以在平台上进行分层,这也是 Java EE 6 平台的一个主要目标。

Sun GlassFish V3 很可能成为首个提供完整平台支持的应用服务器,现在其预览版已经发布了。JBoss 5.2 的下一beta 版将提供某些Java EE 6 支持,包括JavaServer Faces(JSF)2.0、Java Persistence(JPA)API 2.0、Bean Validation 以及新版本的CDI。SpringSource 也宣布支持部分新标准。Spring 3.0 将支持JSF 2.0、JPA 2、Bean Validation 以及JSR-330。未来的Spring 3.x 将支持Java EE 6 其他的API,包括Servlet 3。

就IDE 支持来说, NetBeans 6.8 将支持JSF 2.0(包括Facelets)、JPA 2.0 以及针对GlassFish V3 的增量部署。现在 NetBeans 6.8 M2 已经可以下载了。JetBrains 也紧紧跟随着Java EE 6 的变化, IntelliJ IDEA 9 将支持 JPA 2.0、EJB 3.1、JSF 2.0、Servlet 3、CDI、Bean Validation 以及 GlassFish 3。

查看英文原文: Java EE 6 Proposed Final Draft Hints at Future Direction of the Platform

2009-10-19 13:042893
用户头像

发布了 88 篇内容, 共 271.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

如何利用CST快速生成电机PWM控制信号_CST中国代理商

思茂信息

cst CST软件 CST Studio Suite

小程序容器与SuperApp技术融合:构建高效前端开发新生态

xuyinyin

PHP 查询 YashanDB 超过 256 字符的数据被截断?看这里快速搞定!

数据库砖家

数据库

YashanDB|如何查看共享集群的共享盘挂载情况?

数据库砖家

数据库

AI口语APP的技术架构

北京木奇移动技术有限公司

软件外包公司 APP开发公司 AI口语APP

老牌即时通讯应用Skype被关闭,卒年22岁!

JackJiang

即时通讯 即时通讯IM

YashanDB|AVG 函数详解:轻松搞懂平均值怎么计算

数据库砖家

数据库

苹果AI再曝新进展,百度阿里提供技术支持

科技热闻

Timefold 前世今生:从 OptaPlanner 到更快更强的开源优化引擎

PeterOne

人工智能 AI 后端

8 大最佳开源工具助力 Web 应用开发

NocoBase

GitHub 开源 开发者 开发工具 web 开发

库存怎么管?怎样才能做到有效的库存管理?

积木链小链

数字化转型 智能制造 中小企业 库存管理

YashanDB 函数指南|ATAN2:计算反正切值的实用工具

数据库砖家

数据库

LangChain4j比SpringAI强在哪?一文读懂

王磊

10 个最受开发者喜爱的开源 ERP / CRM 项目(GitHub Star 榜单)

NocoBase

GitHub 开源 开发工具 CRM ERP

中小企业选择云MES,实现数字化转型

万界星空科技

数字化转型 mes 云mes 低代码云MES 中小企业数字化转型

微店商品列表API接口(附代码示例)

tbapi

微店商品详情接口 微店API 微店商品列表接口

YashanDB|主备集群缩容后 YCM 无法托管?一招帮你解决

数据库砖家

数据库

YashanDB 权限管理进阶|三权分立机制详解与实操指南

数据库砖家

数据库

深度解读ARM全新白皮书——《重塑硅基:AI时代的新基石》

GPU算力

gpu 芯片 arm ARM内核 #硅基

【HarmonyOS 5】鸿蒙应用隐私保护详解

GeorgeGcs

【HarmonyOS 5】鸿蒙应用数据安全详解

GeorgeGcs

数智司库:全球司库 战略增值

用友智能财务

数字化转型 解决方案 用友 数智化 司库

AI驱动热更新技术范式重构:从效率工具到智能开发生态的演进路径

xuyinyin

自动化测试与手工测试如何找到最佳平衡点?

测试人

人工智能

人工智能与智能合约:如何用AI优化区块链技术中的合约执行?

天津汇柏科技有限公司

智能合约 人工智能

如何在PPT中嵌入字体?办公常用的PPT技巧盘点!

职场工具箱

效率工具 PPT 办公软件 字体 AI生成PPT

AI大模型入门 (一):什么是大模型?

测试人

人工智能

YashanDB|yasql 客户端字符编码设置指南

数据库砖家

数据库

YashanDB|C# 使用 ODBC 执行 SQL 报错:YAS-08008 的原因与应对

数据库砖家

数据库

YashanDB|BIN 函数详解:如何把数据转成二进制表示?

数据库砖家

数据库

代码生成革命:开源与商业平台的竞合密码

代码制造者

图形化编排

Java EE 6最终草案暗示了平台的未来发展方向_Java_Charles Humble_InfoQ精选文章