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

淺析SSH架構

2011-08-24 07:23:58甄少鵬
時代農機 2011年5期
關鍵詞:數據庫

甄少鵬

(河北省石家莊市高新技術產業開發區國稅局,河北 石家莊 050000)

1 引言

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

2 開源框架Struts、Spring、Hibernate

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

圖1 Struts實現的MVC框架

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

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

3 Struts+Spring+Hibernate輕量級架構

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

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

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

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

4 結語

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

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

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

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

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

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 91精品国产福利| 亚洲一区二区三区国产精品 | 成人小视频在线观看免费| 99视频在线免费看| 欧美、日韩、国产综合一区| 亚洲成网777777国产精品| 中文字幕在线一区二区在线| 青青青国产视频手机| 日韩免费无码人妻系列| 狠狠久久综合伊人不卡| 日韩国产亚洲一区二区在线观看 | 98超碰在线观看| 一本久道久久综合多人| 国产在线观看99| 无码内射中文字幕岛国片| 国产高清免费午夜在线视频| 性网站在线观看| 91在线免费公开视频| 天天综合网亚洲网站| 九一九色国产| 精品福利视频网| 视频一本大道香蕉久在线播放 | 亚洲人成成无码网WWW| 高清视频一区| 成人欧美在线观看| 日韩第八页| 乱人伦视频中文字幕在线| 成人亚洲国产| 久久综合色88| 一级成人a做片免费| 久久亚洲国产最新网站| 国产农村1级毛片| 麻豆AV网站免费进入| 国产欧美日韩一区二区视频在线| 国产JIZzJIzz视频全部免费| 福利国产微拍广场一区视频在线| 国内精自线i品一区202| 久久国产成人精品国产成人亚洲| 国产精品3p视频| 妇女自拍偷自拍亚洲精品| 亚洲aaa视频| 欧美成a人片在线观看| 综合久久久久久久综合网| 99性视频| 欧美亚洲综合免费精品高清在线观看 | 亚洲精品福利网站| 国产精品色婷婷在线观看| 老汉色老汉首页a亚洲| 欧美日韩国产系列在线观看| 大学生久久香蕉国产线观看| 国产精品嫩草影院视频| 久草青青在线视频| 最新国产午夜精品视频成人| 国产美女精品在线| 色婷婷在线影院| 亚洲香蕉伊综合在人在线| 在线免费看黄的网站| 99福利视频导航| 国产一区自拍视频| 欧美国产菊爆免费观看 | 亚洲 欧美 中文 AⅤ在线视频| 国产成人凹凸视频在线| 亚洲午夜天堂| 四虎成人免费毛片| 中文字幕在线一区二区在线| 成人福利视频网| 亚洲一级毛片在线观播放| 香蕉99国内自产自拍视频| 一本一道波多野结衣一区二区| 99久久国产综合精品女同| 狠狠做深爱婷婷久久一区| 欧美成a人片在线观看| 中文字幕在线播放不卡| 精品亚洲麻豆1区2区3区 | 狠狠色婷婷丁香综合久久韩国| 天天综合网亚洲网站| 亚洲欧美日韩中文字幕在线| 免费一级无码在线网站| 欧美在线网| 午夜视频在线观看免费网站| 波多野结衣一二三| 国产视频久久久久|