国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

J2EE企業(yè)級(jí)應(yīng)用開發(fā)技術(shù)發(fā)展趨勢(shì)

2010-05-14 02:10胡曉鋒
價(jià)值工程 2010年4期

胡曉鋒

摘要:J2EE企業(yè)級(jí)開發(fā)技術(shù)的發(fā)展可以反映為MVC框架的變遷。Struts依靠其前期的成功,目前仍舊占有大量的用戶市場(chǎng),Struts2.0的推出,進(jìn)一步鞏固Struts的應(yīng)用地位。Hibernate框架實(shí)現(xiàn)了高效的數(shù)據(jù)持久化,極大提高了數(shù)據(jù)庫(kù)層邏輯的開發(fā)效率,并且可以與Struts相融合。Spring技術(shù)作為輕型框架,依靠IoC在J2EE應(yīng)用中占有重要地位,隨著新技術(shù)的補(bǔ)充和完善,Spring技術(shù)的未來(lái)值得期待。

Abstract: The development of the J2EE development technology reflects the transform of the MVC frame. Based on the former success, the Struts still hold a lot of the users. The release of Struts 2.0 has strengthened the application status. Hibernate has realized the efficient data persistence, which greatly improved the efficiency of database layer logic of development, and can blend with Struts. Spring technology as a light framework, occupies an important status in the J2EE by the help of IoC. With the development and improvement of the new technologies, the future of Spring technology is worth waiting.

關(guān)鍵詞:J2EE;MVC;Struts;Hibernate;Spring

Key words: J2EE; MVC;struts;hibernate;spring

中圖分類號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1006-4311(2010)04-0030-01

1背景介紹

MVC(Model-View-Controller)程序設(shè)計(jì)理念中,把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。模型封裝了問題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和I/O操作;視圖把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息以特定形式展示給用戶;控制器是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系。J2EE的發(fā)展歷程,可以濃縮為MVC架構(gòu)的發(fā)展,主流的MVC架構(gòu)中,以Struts、Hibernate和Spring最為著名。

2Struts

“先入為主”是對(duì)與Struts架構(gòu)最為真實(shí)的寫照。雖然相比其它架構(gòu)已經(jīng)擁有了略顯老舊的設(shè)計(jì)理念,但是憑借著推出之初對(duì)MVC設(shè)計(jì)的影響,Struts仍舊是目前Java Web MVC框架中不爭(zhēng)的王者,軟件研發(fā)企業(yè)站在產(chǎn)品開發(fā)的角度而言,Struts仍然是最穩(wěn)妥的選擇。

Struts有一組相互協(xié)作的類、Servlet以及JSP標(biāo)簽庫(kù)組成。基于Struts構(gòu)架的Web應(yīng)用程序基本上符合JSP Model2的設(shè)計(jì)標(biāo)準(zhǔn),可以說(shuō)是MVC設(shè)計(jì)模式的一種變化類型。Struts有其自己的控制器,同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層和視圖層。在模型層,Struts可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB、JDBC和Object Relation Bridge。

經(jīng)過五年左右的發(fā)展,Struts在取得巨大應(yīng)用成功的同時(shí),也注重自身的發(fā)展,最新推出的Struts2.0中,實(shí)現(xiàn)了很多技術(shù)改造與升級(jí)。其中,Action類可以實(shí)現(xiàn)一個(gè)Action接口,也可實(shí)現(xiàn)其他接口,較以前版本的單一繼承性可擴(kuò)展性更強(qiáng);使用“Value Stack”技術(shù),使標(biāo)簽庫(kù)能夠在不進(jìn)行視圖綁定的情況下訪問數(shù)值;Struts2支持通過攔截器堆棧為每一個(gè)Action創(chuàng)建不同的生命周期,堆棧能夠根據(jù)需要和不同的Action一起使用。諸多的改進(jìn),無(wú)疑將改進(jìn)原來(lái)版本的落后設(shè)計(jì),隨著新版本的推出,再依靠其龐大的程序員群體的支持,Struts擁有光明的未來(lái)。

3Hibernate

Hibernate是一個(gè)數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(ORM)的工具,使用Hibernate最大的優(yōu)點(diǎn)是能提高程序開發(fā)的效率,主要原因有兩點(diǎn):首先,Hibernate對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使程序員可以使用面向?qū)ο缶幊趟枷雭?lái)操作數(shù)據(jù)庫(kù)——數(shù)據(jù)庫(kù)表可以直接映射為Java的類型,同時(shí),Hibernate框架用配置文件的形式來(lái)定義Java對(duì)象和數(shù)據(jù)表之間的映射關(guān)系,將數(shù)據(jù)表之間的關(guān)系解釋為Java對(duì)象之間的繼承及包含等關(guān)系;其次, Hibernate提供了數(shù)據(jù)庫(kù)操作的API,用于對(duì)數(shù)據(jù)庫(kù)所表示的對(duì)象執(zhí)行查詢、修改和刪除操作。程序中與對(duì)象的交互由Hibernate保存,節(jié)省了大量SQL語(yǔ)句,從而使數(shù)據(jù)持久層得到了極大的簡(jiǎn)化,并且降低了程序的錯(cuò)誤率。

4Spring

另外一個(gè)著名的開源框架叫做Spring,也是為解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建MVC架構(gòu)。Spring具有如下四大特性:第一,Spring是一個(gè)輕量級(jí)的框架。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布,所需的處理開銷也很小;第二,反轉(zhuǎn)控制特性,Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合,應(yīng)用IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象,而IoC對(duì)比傳統(tǒng)的反射機(jī)制,性能得到了優(yōu)化;第三,面向切面編程思想,Spring允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)進(jìn)行內(nèi)聚性的開發(fā),每個(gè)對(duì)象只關(guān)注于自身的業(yè)務(wù)邏輯;最后,容器應(yīng)用特征, Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,可將其看成一種容器。

首先,Spring2.0的一個(gè)重大改進(jìn)是引入了XML Schema的namespace,因而可以將Bean的配置文件做大幅度的簡(jiǎn)化,同時(shí),新的XML Schema引入了更多的XML語(yǔ)法,功能更加強(qiáng)大;其二,提供了Request和Session范圍的Bean,這一改進(jìn)雖然對(duì)MVC的根本理念有所背離,但主要是面對(duì)AJAX Web Serviced調(diào)用改進(jìn)。頁(yè)面腳本通過AJAX調(diào)用,拋開Web層框架,直接訪問業(yè)務(wù)層Bean,極大的提高了程序構(gòu)建的方便性;第三,更好的Hibernate結(jié)合,在Spring2.0中,可以使用AspectJ進(jìn)行容器管理,支持對(duì)持久化對(duì)象模型進(jìn)行靜態(tài)注入,當(dāng)持久化對(duì)象在容器外被創(chuàng)建的時(shí)候,會(huì)產(chǎn)生對(duì)容器的回調(diào),進(jìn)行依賴關(guān)系的注入;第四,實(shí)現(xiàn)了JDBC的命名參數(shù)模版,為JDBC查詢提供了帶命名參數(shù)的占位符,在使用JDBC的時(shí)候,可以很容易的構(gòu)造出來(lái)帶占位符的動(dòng)態(tài)條件查詢,不必像以往一樣拼接SQL字符串;另外,Spring2.0支持動(dòng)態(tài)語(yǔ)言ruby,雖然目前動(dòng)態(tài)語(yǔ)言支持看來(lái)還比較簡(jiǎn)單,但無(wú)疑是其在應(yīng)用范圍上的一大進(jìn)步。

5小結(jié)

MVC框架技術(shù)的發(fā)展成為J2EE企業(yè)級(jí)應(yīng)用技術(shù)的風(fēng)向標(biāo),目前,Struts和Spring均推出了新版本,完善了自身功能,Hibernate技術(shù)依靠其數(shù)據(jù)持久化的強(qiáng)大功能實(shí)現(xiàn)了與Struts和Spring的聯(lián)合應(yīng)用。

參考文獻(xiàn):

[1]李小平,肖岳峰,宿元,等.基于J2EE多層架構(gòu)的Web開發(fā)框架研究[J].計(jì)算機(jī)應(yīng)用研究,2008(5).

[2]王青松.基于Hibernate實(shí)現(xiàn)MVC中的模型框架[J].遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(4).

[3]田珂,謝世波,方馬.J2EE數(shù)據(jù)持久層的解決方案[J].計(jì)算機(jī)工程,2003(22).

[4]薛冰,曹作良.設(shè)計(jì)模式和數(shù)據(jù)持久層框架在Web系統(tǒng)中的應(yīng)用[J].天津理工學(xué)院學(xué)報(bào),2004(1).

樟树市| 昌江| 中超| 晋城| 永福县| 新田县| 响水县| 宜兰县| 靖远县| 察雅县| 登封市| 社会| 台江县| 五家渠市| 长岛县| 马关县| 洪洞县| 成安县| 台湾省| 井陉县| 台北县| 同心县| 永福县| 运城市| 沁源县| 陕西省| 齐河县| 扶余县| 马公市| 泉州市| 惠水县| 河西区| 淳化县| 天津市| 洛宁县| 凭祥市| 阿克苏市| 桦川县| 余姚市| 洞口县| 青阳县|