Java EE
的最新版本提供了几项新特性,包括依赖注入、Bean验证,以及EJB
、Servlets
、JSF
、JSP
技术方面的增强。Sun于上周四发布了Java EE 6。本文概述了最新版本的几个新特性。在后续新闻中,我们将对这些特性进行详细报道。
Java EE 6平台的三个主要目标是灵活的技术堆栈、增强的可扩展性、易于开发。
技术堆栈:
Java EE 6引入了功能子集(Profile)和Java EE平台配置的概念,用来为应用指定特定的类。Profile可以包含Java EE的技术子集,也可以同时包含或只包含那些已通过JCP,但尚不属于Java EE平台的技术。新版本带有一个名叫Web Profile
的Profile,它是用于Web应用开发的Java EE平台子集。Web Profile是Java EE的轻量级版本,只包含大多数Web应用所需要的技术,而没有Web应用通常不会用到的企业级技术。
增强的可扩展性:
与先前版本相比,新版本还包括更多的扩展点和服务供应商接口。这能让Java开发人员以标准的方式往Java EE 6实现中插入其它技术和框架。
易于开发:
开发人员可以使用注解定义Web组件,比如使用@WebServlet定义Servlet、使用@WebFilter定义Servlet过滤器。新版本标
准化了一组用于依赖注入的注解,使得可注入的类在多个框架之间更容易移植。新版本还简化了Java
EE应用打包的要求。举例来说,你可以在Web归档文件(WAR)中直接添加EJB,不用再像以前那样先把EJB打包到Java归档文件(JAR)中,再
将JAR文件打包到企业级归档文件(EAR)中。
Java EE 6的新特性主要分为四类:展现、依赖注入和数据验证、组件模型和服务、持久化。
展现:
Java EE 6相当一部分的增强都在展现(Web)层。可扩展性方面的两个关键改进是Web片段和共享框架的可插拔,它们由新的Servlet 3.0(JSR 315
)提供。Servlet 3.0还支持异步处理和注解。支持异步处理后,Servlet的线程就不用像以前那样了——收到来自资源的响应之后才能继续处理请求。这能允许聊天室之类的应用有长客户端连接。
Java EE 6 Web层的另一个技术是JSF技术的最新版本——JSF 2.0(JSR 314
)。JSF 2.0借助Facelet、模板化和复合组件简化了页面和组件的编写。它还提供内置的Ajax和注解支持。新版本还包括JSP 2.2规范。
依赖注入和数据验证:
Java EE平台的上下文和依赖注入(CDI,JSR 299规范)为Java EE组件提供了一组服务。这些服务允许EJB和JSF等Java
EE组件能被注入,也允许通过触发和观察事件进行交互。CDI还统一、简化了EJB和JSF的编程模型,使得EJB能在JSF应用中替代JSF
Managed Bean。
新的Bean验证规范(JSR 303
)让验证更为简单,并减少了重复和错误。它提供了一个标准的验证框架,同一组验证规则在框架中可由应用的所有层(Web层、控制层、服务层和领域层)共享。
组件模型和服务:
在服务器端,Java EE 6发布了EJB 3.1(JSR 318
)和Java API for RESTful Web Services规范(JAX-RS,JSR 311
)。EJB 3.1中的改进有:
-
无接口视图:
简化了EJB的编写,只需要一个Bean,无需再编写单独的业务接口。
-
单例:
使用@Singleton
注解的单例设计能让你在一个EJB的多个实例之间、或应用的多个EJB之间轻松共享状态。
-
异步会话Bean调用:
利用@Asynchronous
注解,会话Bean的方法就可以被异步调用了。
-
简化的打包:
EJB以前必须打包在JAR文件里,新的打包机制打破了这一限制。EJB现在能直接放到WAR文件中。
-
EJB精简版:
该模型是EJB 3.1的子集,Java EE功能子集可包含它。
JAX-RS规范可用来开发符合REST
风格软件架构的轻量级Web Service。它提供了在Java中构建RESTful Web Service的API、注解及相关的类和接口。
持久化:
持久化模块包括JPA 2.0(JSR 317
),JPA
2.0对JPQL有几点增强,还提供了新的Criteria API,可动态创建基于对象的查询。JPA
2.0还有一个元模型API,能让开发人员动态访问数据库的元模型信息。JPA
2.0添加了@ElementCollection、@CollectionTable两个注解,以支持新的集合映射:其中
@ElementCollection用来指定集合中的基本对象或嵌套对象,这些对象存储在一个单独的表中,这个表叫collection
table;@CollectionTable则用来指定collection table的有关细节,比如列信息。
在Java网站上可以下载
最新的Java EE 6 SDK
。要想了解InfoQ对Java EE 6发布和新特性的更多报道,请移步至此
。
查看英文原文:
Java EE 6 Features: Dependency Injection, Bean Validation and EJB Enhancements
分享到:
相关推荐
jave-1.0.3.jar解决已知如下问题: 1、it.sauronsoftware.jave.EncoderException: Metadata 2、it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB subtitle:0kB other streams:0kB global headers:0...
jave-1.0.2.2.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...
jave-1.0.2.jar 视频工具类 Java 好不容易找到的 The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project. Developers can take take advantage of JAVE to transcode audio and video...
jave ee 5 api英文版
JAVE EE 企业级开发之从零开始学JAVA
Jave 特性及简介
该资源为音视频解析工具,可解决音视频转码、视频参数解析、视频时间长度、大小等功能问题
struts2类库 Struts java
jave ee5规范.pdf
jave-1.0.2.3.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...
《JAVE EE基础实用教程》源代码.电子工业出版社的书。郑阿奇 主编
李绪成 Jave ee5实用教程课件 很好用的
it.sauronsoftware.jave包下载
jave amr转mp3 64位 liunx&windows 有一个问题,win10上会失败,报错如下: it.sauronsoftware.jave.EncoderException: java.io.IOException: Cannot run program "C:\Users\moxiao\AppData\Local\Temp\jave-1\...
Jave
Jave EE 基础入门注释版--JSP+JavaBean+Servlet(MVC)模式 适合初学者,实现基本的增添改查(包括分页)注释明确 内含数据库脚本
ffmpeg&jave; jar包
it\sauronsoftware\jave\1.0.2的jave包,主要用于获取视频时长
jave源代码