J2EE開發框架

J2EE開發框架

J2EE是sun公司開發的一組技術規範與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規格,讓各種依循J2EE架構的不同平台之間,存在良好的兼容性,解決過去企業後端使用的信息產品彼此之間無法兼容,企業內部或外部難以互通的窘境。J2EE開發框架主要有Hibernate,Spring,Struts2,EXTJS,Json。

基本介紹

  • 中文名:J2EE開發框架
  • 類別:計算機編程
  • 開放商:sun公司
  • 主要種類:Hibernate,Spring,Struts2
Hibernate簡介,Session,SessionFactory,Configuration,Transaction,Query Criteria,Spring,Struts2,EXTJS,Json,

Hibernate簡介

Hibernate是一個開放原始碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程式設計師可以隨心乎檔廈所欲的使用對象編程思維來操縱資料庫。 Hibernate可以套用在任何使用JDBC的場合,既可以在Java的客戶端程式實用,也可以在Servlet/JSP的Web套用中使用,最具革命意義的是,Hibernate可以在套用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心接口分別加以介紹。

Session

Session接口負責執行被持久化對象的CRUD操作(CRUD的任務是完成與資料庫的交流,包含了很多常見棗櫃阿的SQL語句。)。但需要注意的是Session對象是非執行緒安全的。同時,Hibernate的session不同於JSP套用中的HttpSession。這裡當使用session這個術語時,其實指的是Hibernate中的session,而以後會將HttpSesion對象稱為用戶session。

SessionFactory

SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,並負責創建Session對象。這裡用到了工廠模式。需要注意的是SessionFactory並不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個資料庫時,可以為拔漏每個資料庫指定一個SessionFactory。

Configuration

Configuration接口負責配置並啟動Hibernate,創建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然後創建SessionFactory對象。

Transaction

Transaction接口負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理代碼。

Query Criteria

Query和Criteria接口負責執行各種資料庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。

Spring

Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,頁故洪例如JTA或者JDBC事務提供一個一致的編程模型。Spring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的aspects。這個框架足夠強大,使得應用程式能夠拋開EJB的複雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。

Struts2

相對Struts 1而言,Struts2號稱是一個全新的框架。Struts 2與Struts 1相比,確實有很多革命性的改鍵她槓尋進,但它並不是新發布的新框架,而是在另一個框架:WebWork基礎上發展起來的,Struts2是WebWork的升級,而不是一個全新的框架,因此穩定性、性能等各方面都有很好的保證:而且吸收了Struts 1和WebWork兩者的優勢。
Apache Struts2是一個優雅的,可擴展的JAVA EE web框架。框架設計的目標貫穿整個開發周期,從開發到發布,只設狼包括維護的整個過程。

EXTJS

Ext最初是YUI的一個擴展,也可以擴展自JQuery和Prototype。自1.1版開始,Ext已經可以獨立運行,不需要依賴於那些外部庫。從Ext 2.0版可以使用許多不同的基礎庫,例如YUI、JQuery和Prototype,或者是恥束提說可以獨立的運行。
ExtJS是一個非常棒的Ajax框架,可以用來開發富有華麗外觀的富客戶端套用,能使b/s套用更加具有活力。ExtJS是一個用javascript編寫,與後台技術無關的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各種開發語言開發的應用程式中。
註:YUI(Yahoo! UI Library )是一個開源的JavaScript庫,與Ajax、DHTML和DOM等技術一起使用可以用於創建富有互動性的Web套用,它還包含豐富的CSS資源。

Json

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。
JSON的具體形式:
1、對象是一個無序的“‘名稱/值’對”集合。一個對象以“{”開始,以“}”結束。每個“名稱”後跟一個“:”,“‘名稱/值’對”之間使用“,”分隔。
2、數組是值(value)的有序集合。一個數組以“[”開始,“]”結束。值之間使用“,”分隔。
3、值(value)可以是雙引號括起來的字元串(String)、數值(number)、true、false、null、對象(object)或者數組(array)。這些結構可以嵌套。
4、字元串(string)是由雙引號包圍的任意數量Unicode字元的集合,使用反斜體轉義。一個字元(character)即一個單獨的字元串(characeter string).

Struts2

相對Struts 1而言,Struts2號稱是一個全新的框架。Struts 2與Struts 1相比,確實有很多革命性的改進,但它並不是新發布的新框架,而是在另一個框架:WebWork基礎上發展起來的,Struts2是WebWork的升級,而不是一個全新的框架,因此穩定性、性能等各方面都有很好的保證:而且吸收了Struts 1和WebWork兩者的優勢。
Apache Struts2是一個優雅的,可擴展的JAVA EE web框架。框架設計的目標貫穿整個開發周期,從開發到發布,包括維護的整個過程。

EXTJS

Ext最初是YUI的一個擴展,也可以擴展自JQuery和Prototype。自1.1版開始,Ext已經可以獨立運行,不需要依賴於那些外部庫。從Ext 2.0版可以使用許多不同的基礎庫,例如YUI、JQuery和Prototype,或者是可以獨立的運行。
ExtJS是一個非常棒的Ajax框架,可以用來開發富有華麗外觀的富客戶端套用,能使b/s套用更加具有活力。ExtJS是一個用javascript編寫,與後台技術無關的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各種開發語言開發的應用程式中。
註:YUI(Yahoo! UI Library )是一個開源的JavaScript庫,與Ajax、DHTML和DOM等技術一起使用可以用於創建富有互動性的Web套用,它還包含豐富的CSS資源。

Json

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。
JSON的具體形式:
1、對象是一個無序的“‘名稱/值’對”集合。一個對象以“{”開始,以“}”結束。每個“名稱”後跟一個“:”,“‘名稱/值’對”之間使用“,”分隔。
2、數組是值(value)的有序集合。一個數組以“[”開始,“]”結束。值之間使用“,”分隔。
3、值(value)可以是雙引號括起來的字元串(String)、數值(number)、true、false、null、對象(object)或者數組(array)。這些結構可以嵌套。
4、字元串(string)是由雙引號包圍的任意數量Unicode字元的集合,使用反斜體轉義。一個字元(character)即一個單獨的字元串(characeter string).

相關詞條

熱門詞條

聯絡我們