Java EE是Java平臺(tái)上的一種企業(yè)級(jí)應(yīng)用程序開(kāi)發(fā)標(biāo)準(zhǔn),可以方便地將Java技術(shù)用在企業(yè)級(jí)應(yīng)用開(kāi)發(fā)中。其中,Java EE 5.0和Java EE 6.0是比較常用的版本,下面我們來(lái)看看它們有哪些區(qū)別。
一. 打包方式
Java EE 5.0通過(guò)EJB 3.0提出了"POJO(Plain Old Java Object)指導(dǎo)原則",將Servlet、JSP和EJB進(jìn)行整合,打包為統(tǒng)一的WAR(Web Archive)文件。 Java EE 6.0進(jìn)一步簡(jiǎn)化了打包方式,提出了Web Profile概念,允許開(kāi)發(fā)者打包僅包含一部分Java EE規(guī)范的WAR文件,不需要依賴完整的Java EE容器。
二. 注解支持
Java EE 5.0中已經(jīng)支持注解方式定義EJB、Servlet和JSP。 Java EE 6.0中進(jìn)一步增強(qiáng)了注解的使用,支持為EJB甚至是整個(gè)應(yīng)用聲明一份描述文件,即在Java中用代碼配置應(yīng)用程序,取代了以往的XML配置文件。
三. 上下文依賴注入
Java EE 5.0中,EJB和Servlet都可使用上下文依賴注入(CDI:Contexts and Dependency Injection)技術(shù),通過(guò)注解方式完成自動(dòng)化的組件注入。 Java EE 6.0中進(jìn)一步增強(qiáng)了CDI的功能,可以使用事件、攔截器、裝飾器等方式擴(kuò)展組件的行為和屬性。
四. RESTful服務(wù)支持
Java EE 5.0對(duì)RESTful服務(wù)支持有限,需要使用JSR-311(JAX-RS)規(guī)范來(lái)實(shí)現(xiàn)。 Java EE 6.0中內(nèi)置了對(duì)JAX-RS的支持,提供了一套標(biāo)準(zhǔn)API,方便開(kāi)發(fā)者開(kāi)發(fā)REST風(fēng)格的服務(wù)。
五. 其他改進(jìn)
Java EE 6.0在應(yīng)用服務(wù)器性能和管理方面都有一定的優(yōu)化。 Java EE 6.0支持更多的技術(shù),比如SIP(Session Initiation Protocol)協(xié)議、JMS(Java Message Service)2.0、JSF(JavaServer Faces)2.0等。 Java EE 6.0進(jìn)一步簡(jiǎn)化了一些API,比如Servlet、JSP、EJB等的API,Java EE 5.0中一些繁瑣的API也作了大量的簡(jiǎn)化和合并。
總的來(lái)說(shuō),Java EE 6.0相比于Java EE 5.0,在開(kāi)發(fā)效率、標(biāo)準(zhǔn)支持、部署便捷性、性能提升等方面都有不少改進(jìn)。