楊寧 劉丹軍
摘要:選擇合理的開發(fā)框架對于Java Web應用系統(tǒng)的開發(fā)至關重要,常見的Java Web開發(fā)框架像Struts、Spring、Hibernate等雖然使用人數(shù)較多,但是它們在使用上較為復雜,整合過程較為繁瑣。該文提出使用JFinal框架作為SSH框架的替代方案,不但可以提高項目代碼的可維護性和可擴展性,更可以大幅度的提高開發(fā)效率。
關鍵詞:JFinal框架;Java EE;應用開發(fā)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)07-1440-04
隨著信息技術和網(wǎng)絡技術的發(fā)展,基于Java的Web技術也得到了廣泛的應用。然而,Java Web開發(fā)者在進行開發(fā)的時候經(jīng)常要考慮多方面的因素,例如采用哪種開發(fā)模式、劃分幾個層次、各個層次分別使用哪些框架和技術、如何實現(xiàn)各個業(yè)務模塊之間的松耦合以及系統(tǒng)的擴展性等等。為了減輕開發(fā)人員的負擔,提高代碼的重用性,各種Java Web應用框架應運而生。比如流程控制層我們經(jīng)常采用Struts或Spring MVC框架,它們主要用于控制程序的邏輯關系;數(shù)據(jù)持久層我們經(jīng)常采用Hibernate或Mybatis,它們用于提供數(shù)據(jù)表到Java類的映射,大大減少數(shù)據(jù)操作的復雜度;在控制程序之間的依賴關系方面通常選擇Spring,它是一個輕量級的控制反轉和面向切面的容器框架,采用面向接口的編程方式,由容器控制程序之間的依賴關系。雖然在近些年,這些框架得到了大范圍的應用,但是不難看出,由于使用框架較多,不但開發(fā)效率較低,也會給后期的升級和維護帶來極大困難。同時對于想入門的開發(fā)者來說,要學習多個開發(fā)框架極大的提高了學習成本。
JFinal是一款基于Java語言的開源Web開發(fā)框架,其核心設計目標是開發(fā)迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java語言所有優(yōu)勢的同時再擁有Ruby、Python等動態(tài)語言的開發(fā)效率。使用它不但能實現(xiàn)多個開發(fā)框架的功能,效率方面也會得到極大的提升。
1 JFinal框架
1.1 系統(tǒng)架構
JFinal框架的架構由空間建構和邏輯架構組成。其中,空間架構采用微內核全方位擴展架構,它由Handler、Interceptor、Controller、Render和Plugin五大部分組成。每個部分都基于接口實現(xiàn),支持完整的自定義,擴展性強,使用靈活,設計精巧且使用簡單。而JFinal的邏輯架構采用經(jīng)典的MVC架構,其中包括HttpServletRequest(客戶端請求)、HttpServletResponse(客戶端響應)、所有請求的攔截器、請求處理器(對所有請求的公共處理)、動作處理器(它是一個AOP+Command模式變種,由ActionInvocation進行調度,先執(zhí)行攔截器,最后執(zhí)行具體方法),這樣的邏輯架構使得系統(tǒng)層次分明,便于開發(fā)人員理解和使用。總體的架構圖如圖1。
4 結束語
本文對JFinal框架的優(yōu)點和使用方法進行了研究,通過研究發(fā)現(xiàn)JFinal不但可以很好的代替SSH作為Java Web開發(fā)的首選框架,對于開發(fā)人員的入門和提高也有很大的幫助,在很大程度上解決了Java開發(fā)門檻高、開發(fā)效率低、開發(fā)框架雜亂等問題。
由于篇幅有限,該文未對JFinal框架中的ActiveRecord、Validator、緩存等特色功能進行詳細闡述,各位讀者如果感興趣可以下載JFinal手冊查看,筆者也將對JFinal框架的后續(xù)發(fā)展和功能擴展保持持續(xù)的關注。
參考文獻:
[1] 百度百科.JFinal[EB/OL].http://baike.baidu.com/view/8339916.htm.
[2] 詹波.JAVA 極速WEB+ORM框架 JFinal [DB/OL].http://www.oschina.net/p/jfinal.
[3] 夏艷秋,袁汝華.基于 JFinal 框架和 HTML5 技術的手機應用開發(fā)平臺設計[J].計算機與現(xiàn)代化,2014(1):201-205,210.
[4] 胡啟敏,薛錦云,鐘林輝.基于 Spring 框架的輕量級 J2EE 架構與應用[J].計算機工程與應用,2008, 44(5).
[5] 劉軍,戴金山.基于 Spring MVC 與 iBATIS 的輕量級 Web 應用研究[J].計算機應用,2006,26(4):840-843.
[6] 李峰,劉彥隆.基于 SSH 框架與 jQuery 技術的 JavaWeb 開發(fā)應用[J].科技情報開發(fā)與經(jīng)濟,2010(6):106-108.
[7] 許鑫,費翔林.基于 MVC 模式的應用軟件開發(fā)框架研究[J].計算機工程與應用,2006,41(30):102-104.
[8] 蘇曉波.Web 快速開發(fā)框架的設計與實現(xiàn)[D].武漢:華中科技大學,2010.
[9] 薛峰,梁鋒,徐書勛.基于 Spring MVC 框架的 Web 研究與應用[J].合肥工業(yè)大學學報:自然科學版, 2012,35(3):337-340.
[10] 劉行亮.基于 J2EE 平臺的 Spring 框架分析研究與應用[D].武漢:武漢科技術大學,2006.