`

Jave EE 6新特性:依赖注入、Bean验证和EJB增强

阅读更多

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的有关细节,比如列信息。

分享到:
评论

相关推荐

    完美解决Jave在linux下转为MP3时为0字节或其他异常

    jave-1.0.2.2.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...

    《JAVE EE基础实用教程》源代码

    4. **EJB(Enterprise JavaBeans)**:EJB是Java EE中的企业级组件模型,分为会话bean、实体bean和消息驱动bean。通过EJB,可以实现业务逻辑的封装和复用。源代码可能涉及EJB的生命周期管理、远程接口定义以及容器...

    最新修复版Jave转换mp3、wav等语音,测试完美运行64位linux和windows

    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.jar.zip

    6. **灵活性和扩展性**:Jave的API设计灵活,用户可以根据需求自定义处理流程,比如添加水印、调整画质、分割视频等。同时,由于它是开源的,社区不断贡献新的功能和改进,使其始终保持与时俱进。 总的来说,"视频...

    jave ee 5 api

    jave ee 5 api英文版

    jave.jar(包含jave-1.0.2.jar和jave-2.0.jar)

    Java开发工具包(Jave.jar)是一个集合,包含了两个不同版本的Jave库:jave-1.0.2.jar和jave-2.0.jar。这个压缩包旨在为Java开发者提供不同版本的Jave库,以便在各种项目中根据需求选择合适版本。Jave库可能是一个...

    jave-1.0.2

    Java音视频处理库Jave是IT Sauronsoftware公司开发的一款强大的工具,主要用来处理音频和视频文件。在本案例中,我们关注的是"jave-1.0.2"版本,它是一个.jar文件,表明这是一份Java类库。用户可以将其下载并解压后...

    Java-EE-6.0

    3. **改进的EJB**:在Java EE 6中,Enterprise JavaBeans (EJB)得到了重大改进,EJB 3.1引入了更简单的编程模型,如无状态会话bean(@Singleton和@Stateless)、有状态会话bean(@Stateful)、消息驱动bean(@...

    解决Jave在linux下转为MP3时为0字节或其他异常或转码后只有1分钟时长

    jave-1.0.2.3.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...

    Jave 简介:Jave 特性及简介

    Java 还在不断演进,新的版本不断添加新特性,如Lambda表达式、模块化系统(Project Jigsaw)和反应式编程等,以适应现代软件开发的需求。总的来说,Java 以其稳定性和广泛的社区支持,成为了软件开发领域中不可或缺...

    Jave EE (struts2类库 )

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java EE应用程序框架,它在Web开发领域中被广泛使用。Struts2的核心是Action和Result,它通过拦截器来处理请求,提供了灵活的控制流程,使得开发者可以构建...

    jave ee5规范.pdf

    jave ee5规范.pdf

    JAVE EE 企业级开发之从零开始学JAVA

    综上所述,《JAVA EE企业级开发之从零开始学JAVA》不仅覆盖了JAVA语言的基础语法和面向对象编程的核心概念,还深入讲解了JAVA SE的高级应用,以及企业级开发所需的各种技术和工具,是一份全面且详实的JAVA学习指南。

    jave ee5实用教程课件

    7. **消息服务与消息驱动Bean(MDB)**:Java EE5引入了消息驱动Bean,它是实现异步处理和解耦系统组件的关键。MDB用于接收和处理消息队列中的消息,常用于处理大量并发请求或后台批处理任务。 8. **查询语言**:这...

    jave EE留言版设计

    7. **安全**:考虑到用户可能的登录和权限控制,简单的留言版可能会涉及基本的身份验证和授权。可以使用Java EE提供的容器管理的安全特性,例如角色基的安全性。 8. **异常处理**:在处理用户请求时,我们需要捕获...

    拼多多开放平台SDK文件 最新版 需要依赖Jave SE/EE 1.7及以上

    2023.7月份最新版本针对Java环境进行了优化,要求开发者使用Jave SE/EE 1.7或更高版本来进行开发工作。这表明拼多多对技术栈的兼容性有一定的要求,确保了其SDK在较新版本的Java环境中运行稳定,能够充分利用Java ...

    jave-1.0.2.zip

    Java JAVE(Java Audio Video Encoder)是一个用于音频和视频处理的Java库,它为开发者提供了在Java应用程序中编码和转换多媒体文件的能力。JAVE的核心功能是利用FFmpeg库的跨平台能力,允许开发者轻松地对音频和...

    jar包it.sauronsoftware.jave

    一、Jave库的核心特性 1. 多格式支持:Jave库支持多种常见的音频和视频格式,如MP3、WAV、AAC、MP4、FLV、WMV等,这使得它在处理不同来源的媒体文件时具有广泛的适用性。 2. 编解码能力:Jave库内部集成了FFmpeg库...

    jave-1.0.2.jar(多个版本jar包)

    总的来说,"jave-1.0.2.jar"及其不同版本代表了Java开发中的版本控制和依赖管理,这些都是构建高质量、可维护软件的关键实践。开发者可以根据项目需求选择合适的版本,同时利用Java生态系统提供的丰富资源来提升开发...

Global site tag (gtag.js) - Google Analytics