高中信息技術(shù)教學(xué)論文 Spring框架的事務(wù)管理應(yīng)用分析

高中信息技術(shù)教學(xué)論文 Spring框架的事務(wù)管理應(yīng)用分析

ID:43420777

大小:27.00 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2019-10-02

高中信息技術(shù)教學(xué)論文 Spring框架的事務(wù)管理應(yīng)用分析_第1頁(yè)
高中信息技術(shù)教學(xué)論文 Spring框架的事務(wù)管理應(yīng)用分析_第2頁(yè)
高中信息技術(shù)教學(xué)論文 Spring框架的事務(wù)管理應(yīng)用分析_第3頁(yè)
資源描述:

《高中信息技術(shù)教學(xué)論文 Spring框架的事務(wù)管理應(yīng)用分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、Spring框架的事務(wù)管理應(yīng)用分析摘要介紹了J2EE平臺(tái)上JavaWeb開(kāi)發(fā)的Spring框架的原理和特性,對(duì)其事務(wù)管理方面的應(yīng)用進(jìn)行了分析。  關(guān)鍵詞Spring;J2EE;控制反轉(zhuǎn);事務(wù)處理  引言  在軟件開(kāi)發(fā)中出現(xiàn)過(guò)各種各樣的框架,開(kāi)源軟件的興起,使得各種各樣的框架紛紛出現(xiàn),例如,Apache組織下就擁有諸多的框架類產(chǎn)品??蚣芫褪且唤M協(xié)同工作的類,它們?yōu)樘囟愋偷能浖?gòu)筑了一個(gè)可重用的設(shè)計(jì)。然而,傳統(tǒng)的框架使得應(yīng)用程序組件過(guò)分依賴于框架中的類,這種耦合度的提高降低了組件的復(fù)用性。Spring框架的出現(xiàn),使得組件之間更松散的耦合成為了

2、可能?! pring框架簡(jiǎn)介  Spring框架是一個(gè)2003年2月才出現(xiàn)的開(kāi)源項(xiàng)目,該開(kāi)源項(xiàng)目起源自RodJohnson在2002年末出版的《ExpertOne-on-OneJ2EEDesignandDevelopment》一書中的基礎(chǔ)性代碼。在該書中,RodJohnson倡導(dǎo)J2EE實(shí)用主義的設(shè)計(jì)思想,而Spring框架正是這一思想的更全面和具體的實(shí)現(xiàn)。Spring框架由一個(gè)容器,一個(gè)配置和組織組件的框架,和一組內(nèi)置的為事務(wù)、持久化和Web用戶接口提供的服務(wù)組成。作為一種輕量級(jí)的J2EE框架,Spring提供了一種有效的方式來(lái)建立和組

3、織J2EE應(yīng)用程序?! ?、Spring特性  IoC(InversionofControl;控制反轉(zhuǎn));又稱DI(DependencyInjection;依賴注入);是面向?qū)ο箢I(lǐng)域新興的編程思想;也是Spring的精髓所在。簡(jiǎn)單地說(shuō);IoC就是指程序之間的關(guān)系由容器來(lái)控制;而不是傳統(tǒng)實(shí)現(xiàn)中由程序代碼直接操控。這也就是所謂“控制反轉(zhuǎn)”的概念所在:控制權(quán)由應(yīng)用代碼轉(zhuǎn)到外部容器,控制權(quán)的轉(zhuǎn)移,也就是所謂的反轉(zhuǎn)。IoC將控制創(chuàng)建的職責(zé)搬進(jìn)了框架中;并把它從應(yīng)用代碼脫離開(kāi)來(lái)。當(dāng)使用Spring的IoC容器時(shí)只需指出組件需要的對(duì)象,在運(yùn)行時(shí)Sprin

4、g的IoC容器會(huì)根據(jù)XML配置數(shù)據(jù)提供給它?! pringIoC,借助于依賴注入設(shè)計(jì)模式,使得開(kāi)發(fā)者不用理會(huì)對(duì)象自身的生命周期極其關(guān)系,而且能夠改善開(kāi)發(fā)者對(duì)模式的使用。對(duì)于一個(gè)對(duì)象的管理不是什么困難,難就難在對(duì)整個(gè)對(duì)象群的管理。依賴注入可以讓容器管理對(duì)象,即“Don’tcallme,Iwillcallyou”。這樣對(duì)象本身的生命周期以及對(duì)象之間的關(guān)系就不再讓開(kāi)發(fā)者費(fèi)神了。  SpringAOP,借助于Spring實(shí)現(xiàn)攔截器,開(kāi)發(fā)者能夠?qū)崿F(xiàn)以聲名方式使用企業(yè)級(jí)服務(wù),比如安全性服務(wù)、事務(wù)服務(wù)。AOP合理的補(bǔ)充了OOP,借助于SpringAOP

5、,開(kāi)發(fā)者能夠高效的使用J2EE服務(wù)。  Spring服務(wù)抽象,借助于各種J2EEAPI抽象,使得開(kāi)發(fā)者能夠一致地使用J2EE技術(shù),而不管具體是使用什么J2EEAPI,借助于Spring服務(wù)抽象,使代碼大大減少,滿足“更少代碼,更少BUG”的軟件設(shè)計(jì)原則。  SpringIoC+SpringAOP+Spring服務(wù)抽象,一起形成Spring,這樣一個(gè)有機(jī)體,使構(gòu)建輕量級(jí)J2EE成為可能。  Spring提供的事務(wù)管理  Spring提供的事務(wù)管理可以分為兩類:編程式的和聲明式的。編程式的,比較靈活,但是代碼量大,存在重復(fù)的代碼比較多;聲明式的

6、比編程式的更靈活方便?! ?、傳統(tǒng)使用JDBC的事務(wù)管理  以往使用JDBC進(jìn)行數(shù)據(jù)操作,使用DataSource,從數(shù)據(jù)源中得到Connection,我們知道數(shù)據(jù)源是線程安全的,而連接不是線程安全的,所以對(duì)每個(gè)請(qǐng)求都是從數(shù)據(jù)源中重新取出一個(gè)連接。一般的數(shù)據(jù)源由容器進(jìn)行管理,包括連接池。例如TOMCAT,WEBSPHERE,WEBLOGIC等這些J2EE商業(yè)容器都提供了這個(gè)功能?! ∫酝奈覀兪褂肑DBC在寫代碼時(shí),事務(wù)管理可能會(huì)是這樣:Connectionconn=null;try{ conn=DBConnectionFactory.ge

7、tConnection; conn.setAutoCommit(false); //dosomething conn.commit();//committranscation}catch(Exceptione){ conn.rollback();}finally{ try{  conn.close(); }catch(SQLExceptionse){//dosth.} //closeResultSet,PreparedStatement,Connection //notice:MaybeocurrExceptionwhenuclosers,

8、pstmt,conn}  按照以往的思路來(lái)寫代碼,代碼量比較長(zhǎng),而且容易疏忽,忘掉一些try/catch,引發(fā)一些異常無(wú)法catch,雖然有時(shí)候我們會(huì)寫DBTool類,來(lái)關(guān)閉這些

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。