999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spring的輕量級JavaEE應用與開發(fā)

2008-12-31 00:00:00劉志亮劉媛媛
電腦知識與技術 2008年20期

摘要:在這篇文章里,將要對基于Spring的輕量級框架做一個簡單的介紹。介紹Spring框架的一些基本概念。設計了基于Spring的輕量級JavaEE應用的設計方案。讓讀者了解使用輕量級框架開發(fā)JavaEE應用。

關鍵詞:Spring;輕量級框架;JavaEE

中圖分類號:TP31 文獻標識碼:A文章編號:1009-3044(2008)20-30275-02

Spring Based Lightweight Frameworks JavaEE Application and Development

LIU Zhi-liang1,2, LIU Yuan-yuan1,2

(1.The College of Electrical Engineering Information Techology of China Three Gorges University, Yichang 443002,China; 2.Wuhan Vocational College of software and engineering, Wuhan 430205,China)

Abstract:This article is an overview of Spring based lightweight frameworks application. It introduces the concepts of Spring and lightweight frameworks. It’s design a solution to JavaEE application with Spring based lightweight frameworks. Thus to let you understand how to develop J2EE with Spring based lightweight frameworks.

Key words:POJO; lightweight framework; JavaEE

今天,越來越多的的企業(yè)開發(fā)人員希望能夠快速開發(fā)安全可靠的、可擴展的分布式企業(yè)應用,尤其是以瀏覽器為前端的Web應用。隨著企業(yè)應用的規(guī)模的快速增長,越來越多的企業(yè)將JavaEE平臺作為企業(yè)級開發(fā)的基礎。

1 傳統(tǒng)JavaEE開發(fā)模式

在JavaEE平臺誕生的日子里,JavaEE幾乎就是企業(yè)級開發(fā)的代名詞,當然作為JavaEE中最核心的EJB技術,也一度成為JavaEE應用的核心。EJB框架提供了大量的有用的服務和操作,簡化了分布式應用的開發(fā)時間。比如:EJB提供的聲明式事務:EJB容器為應用自動的開始、提交和回滾事務,使我們無須再編寫大量的事務管理代碼。另外使用企業(yè)級Java Bean(Enterprise Java Bean)完成業(yè)務邏輯能參與在遠程客戶端的分布式事務。EJB還能提供聲明式的安全機制,它讓我們幾乎可以不必寫再安全代碼。

然而,EJB在帶來了這些好處的同時,也帶來了不必要的復雜性:首先編寫EJB組件是復雜的,為了實現(xiàn)一個EJB組件,除了EJB本身的實現(xiàn)類外,還不得不編寫額外的接口。此外,部署和測試EJB也是非常復雜的事情。

2 基于Spring的輕量級JavaEE框架

隨著EJB帶來如此不必要的復雜,許多開發(fā)人員開始思索和反思,并試圖以更簡單的Java技術來簡化JavaEE的開發(fā)。Rod Johnson 總結了他數(shù)年的JavaEE項目經驗,提出了一系列以輕量級框架為核心的全新的JavaEE設計思想。并發(fā)展成為Spring框架。通過Spring這個輕量級框架,我們可以輕松的實現(xiàn)過去必須使用復雜而煩瑣的EJB才能實現(xiàn)的功能。更重要的是Spring拋棄了EJB這種重量級組件,以JavaBean作為實現(xiàn)輕量級框架的組件,使JavaEE的開發(fā)更加簡單,而且降低了應用的耦合。

Spring為企業(yè)開發(fā)提供了一個輕量級的解決方案。該方案包括:基于依賴注入的核心機制,基于AOP的聲明式事務管理與多種持久層技術的整合,以及優(yōu)秀的Web MVC框架等。

Spring為J2EE的業(yè)務邏輯層、表現(xiàn)層及數(shù)據持久層都提供了極好的解決方案,因為Spring不僅僅是一種框架,而且提供了一種企業(yè)級應用的開發(fā)規(guī)范。Spring是實際開發(fā)的抽象,其提供的模版設計大大簡化了應用的開發(fā)。

Spring的系列Template將通過步驟以優(yōu)雅的方式完成,留給開發(fā)者的僅僅是與特定應用相關的部分,從而大大提高了企業(yè)級應用的開發(fā)效率。

Spring支持對POJO的管理,能將J2EE的各層應用“焊接”在一起,甚至這些對象無需是標準的JavaBean。

3 構架性構架

基于Spring的輕量級JavaEE框架和傳統(tǒng)的JavaEE應用系統(tǒng)一樣,主要有三種核心構件:業(yè)務服務層,在成功的應用系統(tǒng)中,它占有最主導的地位;表示層:它可以是一個UI,也可以是一個遠程門面;數(shù)據訪問層:它管理對象的持久化。

3.1 業(yè)務服務層

一個成熟的架構中必須包含一個嚴格而完備的服務層,它是JavaEE應用的核心。從分層上看,業(yè)務服務層位于中間層次,這個層完成業(yè)務邏輯功能,并且把業(yè)務邏輯提供給客戶端(比如Web用戶界面或桌面用戶界面等)。在基于Spring的輕量級JavaEE框架中使用POJO構成服務層,它們運行在Spring輕量級容器中,由Spring來管理它們,這樣就能夠取代EJB原有的結構,而EJB大部分的復雜性。

3.2 數(shù)據訪問層

數(shù)據訪問層負責數(shù)據持久化以及對持久化數(shù)據的訪問。數(shù)據訪問層設計的目的是為系統(tǒng)提供一個獨立的、統(tǒng)一的、安全的、高效的數(shù)據持久機制,將復雜的業(yè)務邏輯和數(shù)據管理分開,從而降低系統(tǒng)的耦合度,提高系統(tǒng)的健壯、可維護性和可擴展性。傳統(tǒng)的JavaEE中數(shù)據訪問技術包括JDBC和entity bean。而我們的輕量級JavaEE框架推薦使用對象關系映射ORM(Object/Relational Mapping)持久化策略。現(xiàn)在有許多現(xiàn)有的O/R框架,比如Hibernate、iBatis等。Spring自身并沒有提供任何ORM方案,但Spring的ORM為集成許多流行的ORM框架提供了良好的支持,可以非常方便的將其納入到Spring的事務管理中。而且Spring DAO定義了一個訪問數(shù)據庫的一致的接口,大大提高了系統(tǒng)的開發(fā)效率。

3.3 表示層

表示層是系統(tǒng)和用戶交互的部分,最常見的就是通過Web界面提供企業(yè)服務。表示層向用戶展現(xiàn)了系統(tǒng)的功能,響應用戶的請求,并且向用戶層現(xiàn)處理結果。成熟的方式是通過MVC(模型-視圖-控制器)模式來組織表示層。分離用戶界面代碼和業(yè)務邏輯。然后通過控制器匹配視圖和模型,減少系統(tǒng)中的耦合。Spring提供一個全功能的MVC框架,供系統(tǒng)使用。另外Spring也可以很好的集成Struts、WebWork等當前流行的MVC框架。

上圖向我們展示了輕量級JavaEE構架方案。從上圖可以看到,輕量級容器是整個系統(tǒng)的核心。所有的Java類都運行在同一個虛擬機中。從用戶角度看,Web層是由MVC框架提供的。我們可是使用專用的MVC框架,比如Struts或WebWork或Spring自帶的MVC框架。業(yè)務對象是POJO,運行在輕量級容器里。AOP的攔截機制能夠增強業(yè)務對象,從而實現(xiàn)企業(yè)級服務,通過接口訪問業(yè)務對象。數(shù)訪問機制可以通過O/R映射實現(xiàn),該層能夠通過透明的持久化;如果O/R映射在某些情況下不能很好的應用,也可以使用JDBC實現(xiàn)。

4 結束語

即使擁有良好的工具和優(yōu)秀技術,應用軟件開發(fā)也是困難重重。應用開發(fā)往往牽扯到方方面面,每件事情都難以控制,而且,開發(fā)周期也很難把握(除非它的確是一個重量級的復雜應用,倒也有情可原)。Spring提供了一種輕量級的解決方案,用于建立“快裝式企業(yè)應用”。在此基礎上,Spring還提供了包括聲明式事務管理,RMI或Web Services遠程訪問業(yè)務邏輯,以及可以多種方法進行的持久化數(shù)據庫地解決方案。另外,Spring還有一個全功能的 MVC框架,并能透明的把 AOP 集成到你的軟件中去。你可以把Spring當作一個潛在的一站式企業(yè)應用。或者,把Spring看作一個標準開發(fā)組件,根據自己的需要,只取用它的部分組件使用而無需涉及其他。例如,你可以利用控制反轉容器在前臺的展現(xiàn)層使用Struts,還可以只使用 Hibernate集成編碼 或是 JDBC抽象層 去處理數(shù)據存儲。Spring被設計成(并將繼續(xù)保持)無侵入性的方式,意味著應用幾乎不需要對框架進行依賴(或根據實際使用的范圍,將依賴做到最小)。

筆者現(xiàn)在的JavaEE應用項目全部采用這種基于Spring的輕量級的JavaEE應用,實踐證明開發(fā)效率比以前提高了許多。除了上面介紹的基本框架之外,還應用到了使用Compass框架實現(xiàn)全文檢索功能,使用Acegi實現(xiàn)安全框架。

參考文獻:

[1] Rod Johnson.Expert One-on-One J2EE Design and Development[M].Indiana:Wiley publishing,Inc 2003.

[2] Rod Johnson.Expert One-on-One Development J2EE Without[M].Indiana:Wiley publishing,Inc 2004.

[3] 廖雪峰.Spirng2.0核心技術與最佳實踐[M].北京:電子工業(yè)出版社,2007.

主站蜘蛛池模板: 国产成人综合网在线观看| 国产鲁鲁视频在线观看| www.精品视频| 亚洲欧美h| 欧美精品综合视频一区二区| 国产午夜无码专区喷水| 不卡的在线视频免费观看| 一级毛片在线播放免费观看| 国产成人av一区二区三区| 亚洲性影院| 在线a视频免费观看| 国产精品视频公开费视频| 免费aa毛片| 欧美α片免费观看| 欧亚日韩Av| 亚洲视频三级| 国产精品亚洲欧美日韩久久| 久久中文字幕不卡一二区| 丰满人妻被猛烈进入无码| 91色综合综合热五月激情| 不卡国产视频第一页| 91黄视频在线观看| 国产男人天堂| 成人福利在线观看| 国产精品人人做人人爽人人添| 国产丝袜丝视频在线观看| 久久动漫精品| 中文字幕在线一区二区在线| 91亚瑟视频| 久久情精品国产品免费| 国产午夜福利在线小视频| 精品三级网站| 日韩欧美国产综合| 亚洲无线国产观看| 欧美成a人片在线观看| 2021天堂在线亚洲精品专区| 99热这里都是国产精品| 2021国产乱人伦在线播放| 亚洲精品欧美重口| 国产裸舞福利在线视频合集| 成人免费视频一区二区三区| 日本a级免费| 亚洲精品人成网线在线 | 国产91丝袜在线观看| 天堂在线视频精品| 久久男人资源站| 欧美劲爆第一页| 少妇极品熟妇人妻专区视频| 98超碰在线观看| 免费国产福利| 伊人久久婷婷五月综合97色| 国产精品无码作爱| 国产91丝袜| 国产尤物视频网址导航| 香蕉久久国产超碰青草| 97国内精品久久久久不卡| 国产本道久久一区二区三区| 中文字幕 91| 狠狠色丁婷婷综合久久| 免费一级无码在线网站| 国产免费久久精品99re丫丫一| 久久精品人人做人人爽电影蜜月 | 精品午夜国产福利观看| 国产真实乱人视频| 国产成人三级在线观看视频| 久夜色精品国产噜噜| 香蕉色综合| 亚洲色图综合在线| 国产免费观看av大片的网站| 五月婷婷伊人网| 亚洲中文字幕av无码区| 幺女国产一级毛片| 高潮毛片无遮挡高清视频播放| 青草娱乐极品免费视频| 女人天堂av免费| 青草视频久久| 日韩在线视频网| 国产精品30p| 福利在线一区| 51国产偷自视频区视频手机观看| AV不卡在线永久免费观看| 国产成人永久免费视频|