




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、各種系統(tǒng)框架圖簡介以下文字和架構(gòu)圖均在本人相關(guān)系統(tǒng)設(shè)計(jì)和架構(gòu)方案中有所應(yīng)用原文出處:1.Spring 架構(gòu)圖Spring是一個(gè)開源 框架,是為了解決 企業(yè) 應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu), 分層架構(gòu)允許您選擇使用哪一個(gè)組件,同時(shí)為J2EE應(yīng)用程序開發(fā)提供集成的框架。Spring框架的功能可以用在任何 J2EE服務(wù)器中,大多數(shù)功能也適用于不受管理的環(huán)境。Spring的核心要點(diǎn)是: 支持不綁定到特定J2EE服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問對(duì)象。這樣的對(duì)象可以在 不同J2EE環(huán)境(Web或EJB )、獨(dú)立應(yīng)用程序、 測試 環(huán)境之間重用。Spring AOPfiouiGe le
2、veltTHlDdnfnAQP intra>truGtureSpring ORMHi bci nhtri pp*tiBats suppflflj DC supponSprig WebWtb 即 pl 心 bDnContmitMull 悶 rt rostrtverVtH) uUibesSpring DAOTr-ans action inFra&tiucturBJOBC Bupparl0A0 supportSpring ConiextAppMcailcri contextUI suppertV4littelionJNDL EJB "suppcn »ndr目即詞
3、169;Iki gMallSpring WebNVC蝕 h MVC FrarneusrkWebJSP/VeitwitvPDF/ExportSpring CoreSupport i n-g utlrtiE!Btean Omi airier組成Spring框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。每個(gè)模塊的功能如下:?核心容器:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory ,它是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn) (IOC )模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開。? Spring上下文:Spr
4、ing上下文是一個(gè)配置文件,向 Spring框架提供上 下文信息。Spring上下文包括企業(yè)服務(wù),例如 JNDI、EJB、電子郵件、 國際化、校驗(yàn)和調(diào)度功能。? Spring AOP :通過配置管理特性,Spring AOP模塊直接將面向方面的 編程 功能集成到了 Spring框架中。所以,可以很容易地使Spring框架 管理的任何對(duì)象支持 AOP。Spring AOP模塊為基于Spring的應(yīng)用程序 中的對(duì)象提供了事務(wù)管理服務(wù)。通過使用Spring AOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。? Spring DAO: JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),
5、可用該結(jié) 構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯(cuò)誤消息。異常層次結(jié)構(gòu) 簡化了錯(cuò)誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關(guān)閉連接)。Spring DAO的面向JDBC的異常遵從通用的DAO異常 層次結(jié)構(gòu)。? Spring ORM : Spring框架插入了若干個(gè) ORMI架,從而提供了 ORM勺 對(duì)象關(guān)系工具,其中包括 JDO、Hibernate 和iBatis SQLMap。所有這 些都遵從Spring的通用事務(wù)和DAO異常層次結(jié)構(gòu)。2.ibatis 架構(gòu)圖ibatis 是一個(gè)基于Java的持久層框架。iBATIS提供的持久層框架包括 SQL Maps和Data Acce
6、ss Objects ( DAO),同時(shí)還提供一個(gè)利用這個(gè)框架 開發(fā)的JPetStore 實(shí)例。舊ATIS :最大的優(yōu)點(diǎn)是可以有效的控制 sql發(fā)送的數(shù)目,提高數(shù)據(jù)層的執(zhí) 行效率!它需要程序員自己去寫 sql語句,不象hibernate 那樣是完全面向?qū)?象的,自動(dòng)化的,ibatis 是半自動(dòng)化的,通過表和對(duì)象的映射以及手工書寫的 sql語句,能句實(shí)現(xiàn)比hibernate 等更高的查詢效率。Ibatis 只是封裝了數(shù)據(jù)訪問層,替我們做了部分的對(duì)象關(guān)系映射。但代價(jià) 是必須要寫xml配置文件,相對(duì)于 Hibernate 還要寫很多sql。Hibernate 通 過工具直接從數(shù)據(jù)庫模式生成實(shí)體類和基
7、本的配置文件,而且大部分情況下不需 要我們寫sql ,會(huì)較大的提升開發(fā)效率。但這些也有很多的局限性,尤其是對(duì) 環(huán)境的要求較高(數(shù)據(jù)庫設(shè)計(jì),對(duì)象設(shè)計(jì),團(tuán)隊(duì)的協(xié)作等)。個(gè)人感覺Ibatis對(duì)項(xiàng)目比較有意義的地方在于它小巧靈活,可擴(kuò)展,封裝了數(shù)據(jù)訪問層(事務(wù), 緩存,異常,日志),并提供了 DAO框架支持。利用Ibatis 我們可以做到代碼和sql的分離,只要sql能夠解決的問題, Ibatis 就能幫我們較容易的解決,同時(shí)也使我們的項(xiàng)目對(duì)某一框架的依賴性變 ?。ㄒ?yàn)镮batis 是非侵入性的)。這將極大的降低項(xiàng)目風(fēng)險(xiǎn),減少解決復(fù)雜問 題的時(shí)間,使項(xiàng)目的維護(hù)變得簡單。Ibatis 對(duì)于應(yīng)用的修改,調(diào)
8、試,擴(kuò)充和維護(hù)將會(huì)變得容易自然。修改時(shí), 我們主要修改的是代表模型的實(shí)體對(duì)象,xml配置文件中的sql ,和/或配置文件的ResultMap (很多時(shí)候是不需要的)。同時(shí),sql和代碼分離,我們不 用在代碼的StringBuffer 的append方法之間尋找需要修改的sql。配置文件 中的sql便利了我們的調(diào)試和對(duì)sql的評(píng)審及以后的sql重用。3.structs1 架構(gòu)圖Struts 是Apache基金會(huì)Jakarta 項(xiàng)目組的一個(gè) Open Source項(xiàng)目,它采 用MVC模式,能夠很好地幫助java開發(fā)者利用J2EE開發(fā)Web應(yīng)用。和其他的 java架構(gòu)一樣,Struts 也是面向?qū)ο?/p>
9、設(shè)計(jì),將 MVC模式"分離顯示邏輯和業(yè) 務(wù)邏輯”的能力發(fā)揮得淋漓盡致。Structs框架的核心是一個(gè)彈性的控制層,基 于如 Java Servlets , JavaBeans , ResourceBundles 與XML等標(biāo)準(zhǔn)技術(shù)以 及Jakarta Commons勺一些類庫。Struts 有一組相互協(xié)作的類(組件)、Serlvet 以及jsp tag lib 組成?;趕truts 構(gòu)架的web應(yīng)用程序基本上符合JSP Model2的設(shè)計(jì)標(biāo)準(zhǔn),可以說是一個(gè)傳統(tǒng) MVC設(shè)計(jì)模式的一種變化類型。Struts有其自己的控制器(Controller ),同時(shí)整合了其他的一些技術(shù)去 實(shí)現(xiàn)模型
10、層(Model )和視圖層(View )。在模型層,Struts可以很容易的與 數(shù)據(jù)訪問技術(shù)相結(jié)合,如 JDBC / EJB ,以及其它第三方類庫,如 Hibernate / iBATIS ,或者 Object Relational Bridge( 對(duì)象關(guān)系橋)。在視圖層,Struts 能夠與JSP ,包括JSTL與JSF ,以及Velocity 模板,XSLT與其它表示層技 術(shù)。Struts為每個(gè)專業(yè)的Web應(yīng)用程序做背后的支撐,幫助為你的應(yīng)用創(chuàng)建一 個(gè)擴(kuò)展的開發(fā)環(huán)境。Response? Client browser(客戶瀏覽器)來自客戶瀏覽器的每個(gè)HTTP請(qǐng)求創(chuàng)建一個(gè)事件。Web容器將用一
11、個(gè)HTTP響應(yīng) 作出響應(yīng)。? Controller(控制器)控制器接收來自瀏覽器的請(qǐng)求,并決定將這個(gè)請(qǐng)求發(fā)往何處。就 Struts而言, 控制器是以servlet 實(shí)現(xiàn)的一個(gè)命令設(shè)計(jì)模式。struts-config.xml 文件配置 控制器。? 業(yè)務(wù)邏輯業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。就 Struts而言,這是 通過作為實(shí)際業(yè)務(wù)邏輯“瘦”包裝的Action類完成的。? Model (模型)的狀態(tài)模型表示應(yīng)用程序的狀態(tài)。業(yè)務(wù)對(duì)象更新應(yīng)用程序的狀態(tài)。ActionForm. bean在 會(huì)話級(jí)或請(qǐng)求級(jí)表示模型的狀態(tài),而不是在持久級(jí)。JSP文件使用JSP標(biāo)記讀取來自ActionFor
12、m. bean 的信息。? View (視圖)視圖就是一個(gè)JSP文件。其中沒有流程邏輯,沒有業(yè)務(wù)邏輯,也沒有模型信息-只有標(biāo)記。標(biāo)記是使Struts 有別于其他框架(如 Velocity )的因素之一4.structs2 架構(gòu)圖Struts 2相對(duì)于Struts 1.X ,將實(shí)現(xiàn)用戶業(yè)務(wù)邏輯(Action )同ServletAPI分離開,這種分離機(jī)制,是采用了攔截器或者攔截器棧(攔截器鏈)。攔截 器是 Struts 2的核心內(nèi)容之一。Struts 2內(nèi)建了多個(gè)攔截器和攔截器棧(由多個(gè)攔截器形成的攔截器鏈), 將用戶的Web請(qǐng)求進(jìn)行攔截處理,從而提供了更加豐富的功能,例如數(shù)據(jù)類型 轉(zhuǎn)換、國際化、
13、文件上傳等。<!- if gte vml 1><v:shape id="_x0000J1028"type="#_x0000_t75"style='width:362.25pt;height:336.75pt'><v:imagedatasrc=":Usersbq_wangAppDataLocalTempmsohtmlclip101clip_image006 .png" o:title=""/></v:shape><!endif-><!-
14、 if !vml->StrutsHttp Servlet RequestAcnonContexiC leanUp _ p, =QThsrFi IterDIv pate herAEgm InvcFcalionJntQrcQpkpr 3 #ActioniHfnreieptor 3Inter cop tor 2 / r t 'lnt-r 園好 plQ1 /5.Hibernate 架構(gòu)圖同cti口nM口PF»rT口口 Subsystem-ok廠匚1J 4 H ttpServt© t Res pon 15irul& Goto intAfcergEUBerm)印
15、soHibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常 輕量級(jí)的對(duì)象封裝,使彳3 Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶 端程序使用,也可以在Servlet/JSP 的Web應(yīng)用中使用,最具革命 意義的是, Hibernate 可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP ,完成數(shù)據(jù)持久化的重任。IntcnjenrorSL<nmh;jekirx5c 網(wǎng) unTniitauuiiun殺5Hibernate 的核心接口一共有 5 個(gè),分別為:Session 、SessionF
16、actory _、 Transaction 、Query_ft Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。 下面對(duì)這五個(gè)核心接口分別加以介紹。 Session接口:Session 接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的 CRUC&作(CRUD 的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate 的session 不同于JSP應(yīng) 用中的HttpSession 。這里當(dāng)使用session 這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate 中的s
17、ession ,而以后會(huì)將HttpSesion 對(duì)象稱為用戶session。 SessionFactory 接口:SessionFactory 接口 負(fù)責(zé)初 始化 Hibernate 。它 充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory 并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常 只需要一個(gè)SessionFactory 就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù) 庫指定一個(gè) SessionFactory 。 Configuration 接口:Configuration接口負(fù)責(zé)配置并啟動(dòng) Hibernate ,創(chuàng)建SessionFactory 對(duì)象。在Hibernate 的啟動(dòng)的過程中,Configuration 類 的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建 SessionFactory 對(duì)象。 Transaction 接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。 它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。 Qu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 村鎮(zhèn)銀行黨建活動(dòng)方案
- 最美樓門院活動(dòng)方案
- 機(jī)車品牌活動(dòng)策劃方案
- 機(jī)關(guān)單位包湯圓活動(dòng)方案
- 期待國慶活動(dòng)方案
- 春節(jié)項(xiàng)目部活動(dòng)方案
- 林海雪原活動(dòng)方案
- 景區(qū)憲法活動(dòng)方案
- 機(jī)構(gòu)業(yè)務(wù)活動(dòng)方案
- 智慧跳繩活動(dòng)方案
- 2025至2030中國無線通訊檢測行業(yè)市場發(fā)展分析及競爭格局與投資機(jī)會(huì)報(bào)告
- 2025年上海徐匯區(qū)高一(下)信息技術(shù)合格考試題及答案
- 4輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式(電纜工程電氣專業(yè))-2024年版
- 2025至2030年中國鐵電存儲(chǔ)器行業(yè)市場深度評(píng)估及投資機(jī)會(huì)預(yù)測報(bào)告
- 醫(yī)院醫(yī)保醫(yī)療管理制度
- 危急重癥救治管理制度
- 土地征收社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估項(xiàng)目服務(wù)方案(投標(biāo)文件)
- CJ/T 123-2016給水用鋼骨架聚乙烯塑料復(fù)合管
- T/SHPTA 068-2023汽車內(nèi)飾粘結(jié)用熱熔膠膜
- 新生兒喂養(yǎng)困難應(yīng)對(duì)指南
- 網(wǎng)絡(luò)釣魚攻擊與防范策略教學(xué)課件
評(píng)論
0/150
提交評(píng)論