亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺析SSH架構

        2011-08-24 07:23:58甄少鵬
        時代農機 2011年5期
        關鍵詞:表示層偶合代碼

        甄少鵬

        (河北省石家莊市高新技術產業(yè)開發(fā)區(qū)國稅局,河北 石家莊 050000)

        1 引言

        目前,國內外信息化建設已經進入以Web應用為基礎核心的階段。Java語言應該算得上是開發(fā)Web應用的最佳語言。然而,就算用Java建造一個不是很煩瑣的Web應用系統(tǒng),也不是件輕松的事情。有很多東西需要仔細考慮,比如要考慮怎樣建立用戶接口?在那里處理業(yè)務邏輯?怎樣持久化?而這3層構架中,每一層都有各自要考慮的內容,比如各個層該使用什么技術?怎樣的設計既能松散偶合還能靈活多變?怎樣替換某個層而不影響整體架構?應用程序如何做各個方面的處理(例如:事物處理)?幸運的是,構架一個Web應用需要解決的一些問題已經由曾遇到過這類問題的開發(fā)者建立起處理這類問題的框架。本文將討論怎樣結合3種著名的框架Struts、Spring和Hibernate來使你的程序做到松散偶合。

        2 開源框架Struts、Spring、Hibernate

        (1)Struts實現 MVC 的機制。 Struts是基于模型(Model)、視圖(View)和控制器(Controller)的MVC設計模式的應用架構。Struts在Web應用開發(fā)中的使用,極大地縮短了開發(fā)時間,在很大程度上擺脫了傳統(tǒng)開發(fā)模式的束縛。圖1顯示了Struts實現的MVC框架。

        圖1 Struts實現的MVC框架

        (2)Spring基本概念及其特點。Spring是一個AOP框架和IoC容器。運用AOP可以創(chuàng)建 “橫切關注點”(Crosscutting concerns),在應用時將它們插入代碼中,使得代碼有良好的可重用性。IoC容器允許在需要生成對象的地方創(chuàng)建一個應用上下文,然后將這些對象傳遞給它們的合作對象。只需要在配置文件中聲明對象問的關系,由IoC容器管理這些對象,在需要時由Spring提供。使用Spring,開發(fā)者可以有效的組織中間層對象,消除項目中單例類的大量使用以及對大量定制文件格式使用的需要。無論是使用JDBC還是使用ORM,Spring提供了一個數據存取的一致性框架。

        (3)Hibernate持久層框架。Hibernate是一個面向Java環(huán)境的輕量級O/R Mapping(對象/關系數據庫映射)工具,其作用是對Java類與數據庫中的表進行映射,完成數據的持久化、同時也提供數據的查詢、一致性檢查、事務管理等機制。與直接調用JDBC操作數據庫相比,Hibernat可以大幅減少開發(fā)時人工使用SQL和JDBC處理數據的時間。程序員能夠完全用面向對象的思維去設計系統(tǒng),將全部精力集中在編程中,而不用關心數據庫的連接、事務、并發(fā)性等問題。另外,由于在編程中不會有特定數據庫相關的代碼,所以我們可以很容易地移植數據庫而不用修改JAVA代碼 (只需修改database schema及O/R映射文件),大大提高了系統(tǒng)的靈活性。

        3 Struts+Spring+Hibernate輕量級架構

        如何建立你的架鉤,并且怎樣讓你的各個應用層保持一致?如何整合框架,以便讓每層以一個松散偶合的方式彼此作用而不管底層的技術細節(jié)?這里討論一個使用3種開源框架的策略:表示層用Struts,業(yè)務層用Spring,而持久化層則用Hibernate,

        (1)表示層。一般來講,一個典型的Web應用的前端應該是表示層,這里可以使用Struts框架。Struts的主要功能:管理用戶的請求,做出相應的響應、提供一個流程控制器,委派調用業(yè)務邏輯和其他上層處理、處理異常、用戶界面的驗證。

        (2)持久層。Hibernate的主要功能:查詢對象的相關信息、存儲、更新、刪除數據庫記錄、支持大部分主流數據庫,并且支持父表/子表(Parent/child)關系、事物處理、繼承和多態(tài)。

        (3)業(yè)務層。業(yè)務層的主要功能:處理應用程序的業(yè)務邏輯和業(yè)務校驗、管理事務、提供與其他層相互作用的接口、管理業(yè)務層級別的對象的依賴、在表示層和持久層之間增加了一個靈活的機制,使得他們不直接聯系起來、通過揭示從表示層到業(yè)務層之間的上下文來得到業(yè)務邏輯、管理程序的執(zhí)行(從業(yè)務層到持久層)。

        4 結語

        SSH架構是目前國內外軟件企業(yè)的最主流的應用技術,也是J2EE未來的發(fā)展趨勢。Struts作為前臺控制框架簡化了程序的開發(fā),使界面開發(fā)人員和Java程序員達到了有效的分離,使項目的可擴展性大大增強,提升了開發(fā)效率,降低了開發(fā)成本。Spring通過控制反轉,層層回調,極大地減少了業(yè)務邏輯代碼,Hibernate能極大地減少數據庫相關操作代碼,能實現一個簡單高效的持久化。通過三者的有機結合使得整個應用簡單,松偶合,且容易測試。

        [1]梁立新.項目實踐精解:基于Struts-Spring-Hibernate的Java應用開發(fā)[M].北京:電子工業(yè)出版社,2006.

        [2]孫衛(wèi)琴.精通Hibernate:Java對象持久化技術詳解[M].北京:電子工業(yè)出版社,2005.

        [3]孫衛(wèi)琴.精通Struts:基于MVC的Java Web設計與開發(fā)[M].北京:電子工業(yè)出版社,2004.

        [4]羅時飛.精通Spring[M].北京:電子工業(yè)出版社,2005.

        猜你喜歡
        表示層偶合代碼
        基于乙醇偶合制備C4烯烴的研究
        科學家(2022年4期)2022-05-10 03:47:14
        基于Spring的企業(yè)級Web項目架構設計研究
        軟件(2019年6期)2019-10-08 06:27:21
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        菏澤市1例接種Ⅰ+Ⅲ犁脊灰減毒疫苗偶合猝死病例調查、診斷分析
        多金屬偶合腐蝕模型
        腐蝕與防護(2017年1期)2017-05-09 02:14:41
        預防接種過程中的偶合癥發(fā)生概率有多大
        ASP.NET三層構架解析
        竹菊影视欧美日韩一区二区三区四区五区 | 91亚洲夫妻视频网站| 国产不卡精品一区二区三区| 国产色在线 | 亚洲| AV无码最在线播放| 国产免费三级三级三级| 亚洲天堂一区二区偷拍| 欧美精品videosex极品| 国产av影片麻豆精品传媒| 久久综合一本中文字幕| 亚洲一区二区国产一区| 国产丶欧美丶日本不卡视频| 亚洲天堂在线播放| 五月婷婷激情六月开心| 男女真人后进式猛烈视频网站| av无码精品一区二区三区宅噜噜| 亚洲一区二区在线| 亚洲综合网中文字幕在线| 亚洲中文字幕av天堂自拍| 免费观看性欧美大片无片| 乱人伦人妻中文字幕无码| 日本中文字幕官网亚洲| 色婷婷五月综合激情中文字幕| 久久国产精久久精产国| 极品av在线播放| 成人大片免费视频播放一级 | 国产精品免费久久久久影院仙踪林| 人妻被猛烈进入中文字幕| 精品久久一区二区三区av制服| 熟女人妇 成熟妇女系列视频| 人人妻人人澡人人爽精品欧美| 久草91这里只有精品| 久久精品国产亚洲av网| 开心五月激情综合婷婷| 亚洲熟女av中文字幕网站| 一本色道久久88加勒比综合| 在线观看成人无码中文av天堂| 中文文精品字幕一区二区| 国产午夜福利av在线麻豆| 内射人妻无套中出无码| 国产真实乱人偷精品人妻|