写点什么

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:042837
用户头像

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

关注

评论

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

CloudQuery v1.3.5 上线!

BinTools图尔兹

数据库 oracle 运维 开发工具 dba

MySQL四大属性(特性) 底层实现原理

java_wxid

Java MySQL 数据库 面试 底层实现原理

程序员:如何写出斗帝级简历?

Java架构师迁哥

用户需求差异化需要更专业的云管理平台 | 演讲实录

BoCloud博云

云计算 多云管理

关于 JavaScript 闭包

程序员海军

JavaScript 大前端 闭包

又是一些小细节!3面成功入职字节跳动:算法+数据库+中间件+JVM

Java架构之路

Java 程序员 架构 面试 编程语言

iOS 面试策略之简历的准备到面试流程

iOSer

ios 面试

Python实现excel公式格式化工具

小小明

Python Excel

AI技术在小程序生态质量保障方向的落地实践

百度开发者中心

百度智能小程序

试着找一下抖音下单的用户路径地图

小匚

产品经理 产品经理训练营

美团3面(Java后台):NIO+BIO+Zookeeper+线程池+Redis+kafka

钟奕礼

Java 编程 程序员 架构 面试

何止一个惨字形容!水滴Java面试一轮游,壮烈了,问啥啥不会,数据库血崩,我该怎么办?

钟奕礼

Java 学习 编程 程序员 面试

Java岗位阿里+字节+滴滴+美团+腾讯+百度+京东12万字面试题总结

Java架构追梦

Java 阿里巴巴 架构 腾讯 面试

单线程、多线程和协程的爬虫性能对比

小小明

Python 爬虫

支付宝高级研发一二三面题目:CMS+CAS+线程锁+事务+雪崩+Docker

钟奕礼

Java 编程 程序员 架构 面试

JVM 诊断之 jps 工具使用

hepingfly

JVM jvm调优 jvm诊断 jps

爆肝一周总结了一份Java学习/面试自测指南!200+道Java最常见面试题。

Java架构之路

Java 程序员 架构 面试 编程语言

Hello World !!!

潮湿了我押韵的心情

Android内存泄漏检测之LeakCanary2.0(Kotlin版)的实现原理

vivo互联网技术

android kotlin 内存泄漏

批量从Word中提取图片

小小明

Python

MySQL锁等待与死锁问题分析

Simon

MySQL 死锁

AI技术在小程序生态质量保障方向的落地实践

百度Geek说

小程序 AI

将word试卷匹配转换为结构化表格

小小明

Python word

重点人员可视化研判分析系统搭建,可视化大屏系统

字节跳动5面喜提offer!分享给朋友们面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

高并发下的Redis分布式锁

java_wxid

Java redis 高并发 分布式锁 setnx

HashMap加载因子为什么是0.75?

java_wxid

Java 面试 hashmap HashMap底层原理 加载因子

Pandas实战案例-冷空气活动寒潮级别分类

小小明

KeyChrone-K8使用体验

ITCamel

maven打包,常用启动方式

秋天

mavne

APK反编译

行者AI

编译

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