亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

編程經典技術:Spring的巧妙之處

2019-11-18 12:58:16
字體:
來源:轉載
供稿:網友

  作者注:在《Better, Faster, Lighter java》一書第八章的這份節錄中,我們將看到一個使用SPRing框架的企業web應用程序例子。盡管Hibernate提供了單個的服務,Spring框架卻提供了一種高效地構建和匯編Java應用程序的方法,以及多種服務的抽象。盡管Spring支持多種服務,但是它最受關注也是最出色的特性是杰出的分層和封裝。與EJB一樣,Spring的中心組件是一個容器;而且Spring框架也同樣提供對核心J2EE服務的訪問。但是這就是它們僅有的相似之處了。下面是一個比喻。

  我喜歡皮劃艇運動,也花了很多時間來教授皮劃艇技巧。我的一個專長就是教授學生如何在浪花中翻轉弄翻了的皮劃艇。一天,我向一位四肢發達的大個子和一位玲瓏瘦小、體重只有97磅的女士傳授該技巧。當我在陸地上從頭到尾仔細地講述這項技巧的時候,大個子直勾勾的盯著遠方,不感愛好。而那位女士注重力集中,而且希望反復練習這項基礎技巧。在半個小時之內,她就出色地完成了第一次翻轉,而他只是上下搖擺,在平靜的水面上拍打出細小的白色泡沫。直到第三個學時,他才完成這個動作。在以后的幾個學時中,她依靠技巧快速提高,而他卻單憑力量在水中掙扎。到了實踐的時候,她翻轉了皮劃艇,而他卻在游泳。程序員們,請記?。航鉀Q問題的最佳方式是依靠簡單性和技巧,而不是蠻力。

  Pet Store:一個反例

  Pet Store J2EE應用程序是一個很糟糕的編程例子。它誤導成千上萬名J2EE開發人員構建出設計糟糕、性能低下的代碼。它還是一個基準的爭論焦點。Middleware Company致力于制訂比較J2EE和微軟的。NET平臺的基準。他們選擇Pet Store的J2EE版本作為基準的基礎。盡管他們很努力地調優,J2EE版本還是慘敗給Microsoft .NET版本,因此導致J2EE設計備受批評。我不想針對這次慘敗譴責什么。我有不同的看法。我堅持認為:利用J2EE(尤其是EJB)很難開發出整潔、高性能的代碼。另一方面,Pet Store基準本身就會導致更大的問題。

  基準紛爭過后,很多人借助于更平易且更簡單的技術來實現Pet Store.其中一種最強大且最簡單的實現方法是Clinton Begin所使用的,他利用一個稱為iBatis的DAO框架來代替全部的實體bean.Rod Johnson的團隊將該應用程序轉化為Spring,并且現在已經與Spring框架一起發布。以下是相關的一些細節:

  Spring jPetStore應用程序包含在M4或更高版本的Spring中。
  它是一種具有JDBC DAO層的數據驅動的應用程序。
  它提供了Strut的替代前端以及Spring MVC框架。
  它提供了兩種不同的模型。最簡單的模型使用單一數據庫和簡單JDBC事務。另一種模型可以跨多個數據庫使用JTA事務治理。

  在下面的部分中,我將演示具有MVC web前端和單個數據庫中的簡單事務的應用程序版本。我將重點討論域模型、單數據庫DAO層、單一事務以及Spring MVC前端。Spring網站上提供了大量的資源,可供希望深入研究的開發人員使用。

  配置文件

  了解Spring應用程序應當從配置文件開始,它顯示了主要的bean以及應用程序如何將它們組合在一起。Spring配置文件在應用程序上下文中定義bean.將上下文看作是收集應用程序指定資源的一種便利方式。

  很多J2EE應用程序借助單元素來了解諸如連接之類的應用程序資源。這種用途的單元素與很多Java開發人員經常使用的全局變量差別不大。J2EE中的替代方案是一種稱為JNDI的目錄服務,但是對于許多常見用例來說它就是殺雞的牛刀了。而Spring使用一種應用程序上下文。最初,需要在一個簡單的xml文件中指定應用程序上下文,盡管也可以通過擴展Spring來接受其它類型的配置文件。以下是應用程序上下文中可能會包含的內容:

  數據源

  治理連接的Java類,通常在一個池中。

  DAO層

  假如應用程序使用了數據庫,那么很可能需要隔離對DAO層數據庫的訪問??梢酝ㄟ^應用程序上下文來訪問該層。

  持久性治理器

  每個持久性框架都有一個應用程序用來訪問其特性的對象或工廠。對于Hibernate來說,它就是會話和會話工廠。而對于JDO來說,它就是持久性治理器工廠和持久性治理器。

  事務策略

  可以顯式地聲明希望在事務中使用的方法以及用于實施該策略的事務治理器。

  事務治理器

  J2EE中有很多不同的事務治理策略。對于單一數據庫的應用程序,Spring答應使用數據庫的事務治理。對于多個數據庫或事務源,Spring答應使用JTA.可以將事務治理器保存在應用程序上下文中。

  驗證邏輯

  Spring框架使用一種與Strut類似的驗證框架。Spring答應像配置其他業務組件那樣配置驗證邏輯。

  視圖和控制器

  Spring框架答應為視圖指定控制器,并幫助用戶通過控制器來配置導航路徑。

  jPetStore應用程序使用包含一個數據源、DAO層和一種事務邏輯的Spring應用程序上下文。用戶定義XML文檔中上下文的內容,該XML文檔列出了一系列bean.每一個XML配置文件都包含一個題頭,其后是一系列組件和一個腳注。如下所示:



 







發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色樱桃影院亚洲精品影院| 日韩av在线直播| 精品视频在线播放色网色视频| 国产专区欧美专区| 国产aⅴ夜夜欢一区二区三区| www.99久久热国产日韩欧美.com| 免费成人高清视频| 色偷偷综合社区| 黄色成人在线播放| 国产精品久久久久久久久久99| 成人免费视频网址| 亚洲欧美激情视频| 欧美一级淫片丝袜脚交| 久久久久久久999精品视频| 日本免费一区二区三区视频观看| 国产成人a亚洲精品| 精品一区二区三区三区| 国产九九精品视频| 国产日韩欧美电影在线观看| 这里只有精品在线播放| 68精品国产免费久久久久久婷婷| 亚洲国产成人精品久久| 日韩成人网免费视频| 热久久免费视频精品| 日本亚洲欧洲色| 国产丝袜精品第一页| 日韩av中文字幕在线| 国产亚洲a∨片在线观看| 国产精品久久91| 亚洲深夜福利网站| 国产高清在线不卡| 日韩精品亚洲视频| 欧美色欧美亚洲高清在线视频| 国产原创欧美精品| 欧美影院久久久| 久久成人一区二区| 久久精品久久久久久国产 免费| 久久亚洲精品一区| 亚洲成人精品视频在线观看| 91精品国产高清自在线看超| 琪琪亚洲精品午夜在线| 欧美在线国产精品| 欧美亚洲午夜视频在线观看| 欧美亚洲另类制服自拍| 色播久久人人爽人人爽人人片视av| 亚洲裸体xxxx| 国产欧美精品日韩精品| 久久精品一本久久99精品| 国产999精品视频| 亚洲人成五月天| 欧美精品一区二区免费| 九九热最新视频//这里只有精品| 性色av一区二区三区红粉影视| 久久久久久久影院| 欧美夫妻性视频| 欧美性高潮床叫视频| 91av视频在线播放| 亚洲国产免费av| 九九久久久久久久久激情| 日韩专区在线观看| 欧美精品精品精品精品免费| 午夜精品久久久久久久男人的天堂| 国产日产久久高清欧美一区| 8x拔播拔播x8国产精品| 久久久国产在线视频| 91福利视频网| 综合av色偷偷网| 98视频在线噜噜噜国产| 欧美综合国产精品久久丁香| 日本高清久久天堂| 国产一区二区三区在线观看网站| 九九久久久久久久久激情| 欧美中文字幕在线播放| 亚洲一区二区三区四区在线播放| 亚洲免费精彩视频| 91精品在线国产| 欧美日韩性视频| 成人在线视频福利| 欧美精品九九久久| 亚洲欧美激情四射在线日| 57pao成人国产永久免费| 成人有码在线视频| 久久国产精品久久精品| 国产午夜精品全部视频在线播放| 成人激情视频在线| 欧美午夜xxx| 日韩精品电影网| 国产69精品久久久久9999| 日韩精品在线播放| 日韩国产精品亚洲а∨天堂免| 日韩经典中文字幕| 久久人91精品久久久久久不卡| 日本欧美在线视频| 久久av.com| 日韩电影免费在线观看中文字幕| 亚洲男人av电影| 午夜精品免费视频| 国产小视频国产精品| 91美女片黄在线观| 狠狠躁18三区二区一区| 亚洲国产成人爱av在线播放| 欧美激情久久久久久| 777午夜精品福利在线观看| 欧美在线视频免费观看| 日韩精品极品视频| 97视频com| 久久九九精品99国产精品| 国产免费一区二区三区在线观看| 国产精自产拍久久久久久蜜| 日韩在线中文视频| 国产做受69高潮| 激情懂色av一区av二区av| 91情侣偷在线精品国产| 在线视频日韩精品| 久久久久久国产精品三级玉女聊斋| 久久久999国产精品| 亚洲成人久久电影| 国产伊人精品在线| 亚洲国产婷婷香蕉久久久久久| 久久久久久久久久久91| 欧美激情第1页| 精品调教chinesegay| 亚洲男人7777| 国产亚洲精品一区二区| 日韩视频在线免费观看| 91精品啪aⅴ在线观看国产| 国产精品黄页免费高清在线观看| 欧美乱大交xxxxx另类电影| 97国产精品久久| 97免费中文视频在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 日韩精品中文字幕有码专区| 午夜精品视频在线| 国产日韩在线视频| 亚洲精品久久久久久久久久久久久| 日韩专区在线播放| 午夜精品一区二区三区视频免费看| 69久久夜色精品国产69乱青草| 美女av一区二区| 色伦专区97中文字幕| 欧亚精品在线观看| 亚洲四色影视在线观看| 九九久久国产精品| 色樱桃影院亚洲精品影院| 欧美激情视频在线观看| 中文字幕视频一区二区在线有码| 97在线免费观看| 欧美精品xxx| 国产精品美女久久| 亚洲国产成人久久综合一区| 欧美视频专区一二在线观看| 亚洲欧美在线播放| 亚洲国产欧美日韩精品| 最近2019中文字幕第三页视频| 亚洲乱码av中文一区二区| 九九视频这里只有精品| 成人免费直播live| 欧美电影在线观看完整版| 日韩亚洲欧美中文高清在线| 国内成人精品一区| 国产日韩av高清| 最近2019中文字幕第三页视频| 欧美怡红院视频一区二区三区| 国产成人精品优优av|