AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

Elasticsearch-Base

子路无倦

elasticsearch search 搜索

ARTS打卡-02

Geek_yansheng25

存储让“想象”势不可挡

焱融科技

2020年5月北京BGP机房网络质量评测报告

博睿数据

网络 服务器 存储 机房 主机

面试官为什么喜欢拿 Kafka 考验求职者

奈学教育

kafka

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

ATGU:阿宝哥

分布式系统技术:存储之数据库

奈学教育

分布式

持续集成实践系列 」Jenkins 构建 CI 自动化流水线常见技巧 (二)

狂师

持续集成 jenkins jenkins-plugin CI/CD

cpu分析利器 — async-profiler

捉虫大师

Java cpu profiler

厉害了,SpaceX-API 开源了

非著名程序员

GitHub 开源 程序员

27岁了,程序员写给自己的一封信

学习Java的小姐姐

程序员 生活 总结 程序媛 职场回顾

硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题

小林coding

面试 TCP 网络安全 网络编程 计算机网络

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

ATGU:阿宝哥

从SDL到DevSecOps:始终贯穿开发生命周期的安全

Fooying

DevOps SDL DevSecOps 安全开发 软件开发生命周期

为什么你在群里的提的技术问题没人回答?

古时的风筝

程序员 提问的艺术

ARTS-Week 01

chasel

LeetCode 1339. Maximum Product of Splitted Binary Tree

隔壁小王

算法

9种 分布式ID生成方案,我替你整理好了

程序员小富

Java MySQL 分布式

Dubbo Cluster集群那点你不知道的事。

why技术

源码 面试 dubbo 集群容错

PlantUML 的介绍和使用

Puran

UML PlantUML

createRef、useRef、useMemo对比分析和应用场景

费马

React Hooks useRef useMemo createRef

前端开发必备工具箱

LeanCloud

CSS 性能优化 vscode 大前端 工具

Java技术奇迹

ATGU:阿宝哥

《龙教授私享会职场沟通心法》最佳学习路线(2020最新版)

ATGU:阿宝哥

大话设计模式 | 1 简单工厂模式

Puran

C# 设计模式 PlantUML

C#和TS的范型实例化

猫定谔的靴

C# typescript 泛型

关于Synchronized锁升级,你该了解这些

学习Java的小姐姐

并发编程 synchronized 轻量级锁 偏向锁 重量级锁

从技术思维角度聊一聊『程序员』摆地摊的正确姿势

牧码哥

随笔杂谈 技术人生 经验分享

如何辨别有发展潜力的员工​

Neco.W

工作 招聘

程序员未来会成为非常内卷的职业?

非著名程序员

程序员 程序人生 职业 职业规划

读《平凡的世界》

YoungZY

读书

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