




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Spring事務(wù)本章主要目標(biāo)qSpring中的事務(wù)管理qSpring聲明式事務(wù)qSpring編程式事務(wù)Spring中事務(wù)處理qspring提供的事務(wù)管理可以分為兩類:編程式的和聲明式的。編程式的,比較靈活,但是代碼量大,存在重復(fù)的代碼比較多;聲明式的比編程式的更靈活。q統(tǒng)觀spring事務(wù),圍繞著兩個(gè)核心PlatformTransactionManager和TransactionStatus。事物核心接口qSpring中的事務(wù)接口:org.springframework.transaction.PlatformTransactionManager接口。q實(shí)現(xiàn)類:DataSourceTransa
2、ctionManager、HiberNateTransactionManager、JdoTransactionManager等事物核心類Spring提供了幾個(gè)關(guān)于事務(wù)處理的類: TransactionDefinition /事務(wù)屬性定義(超時(shí)、隔離級(jí)別、傳播行為)TranscationStatus /代表了當(dāng)前的事務(wù),可以提交,回滾。PlatformTransactionManager/核心接口其下有一個(gè)實(shí)現(xiàn)的抽象類AbstractPlatformTransactionManager,DataSourceTransactionManager等都是這個(gè)類的子類。事務(wù)屬性定義qPROPAGATIO
3、N_REQUIRED-支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù),就新建一個(gè)事務(wù)。這是最常見(jiàn)的選擇。 qPROPAGATION_SUPPORTS-支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù),就以非事務(wù)方式執(zhí)行。 qPROPAGATION_MANDATORY-支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù),就拋出異常。 qPROPAGATION_REQUIRES_NEW-新建事務(wù),如果當(dāng)前存在事務(wù),把當(dāng)前事務(wù)掛起。 qPROPAGATION_NOT_SUPPORTED-以非事務(wù)方式執(zhí)行操作,如果當(dāng)前存在事務(wù),就把當(dāng)前事務(wù)掛起。 qPROPAGATION_NEVER-以非事務(wù)方式執(zhí)行,如果當(dāng)前存在事務(wù),則拋出異常。 qPROPAGATI
4、ON_NESTED-如果當(dāng)前存在事務(wù),則在嵌套事務(wù)內(nèi)執(zhí)行。如果當(dāng)前沒(méi)有事務(wù),則進(jìn)行與PROPAGATION_REQUIRED類似的操作。事物實(shí)現(xiàn)方式q編程式事務(wù)處理PlatformTransactionManager實(shí)現(xiàn)TransactionTemplate實(shí)現(xiàn)q聲明式事務(wù)管理(代理機(jī)制來(lái)實(shí)現(xiàn)的)聲明式事務(wù)配置聲明式事務(wù)代理配置PlatformTransactionManager事務(wù)處理qDataSourceTransactionManager對(duì)象的創(chuàng)建qJdbcTemplate對(duì)象的創(chuàng)建qDefaultTransactionDefinition對(duì)象的創(chuàng)建qDefaultTransaction
5、Definition對(duì)象事務(wù)屬性的設(shè)置qTransactionStatus對(duì)象的創(chuàng)建PlaterForm實(shí)例JdbcTemplate template = new JdbcTemplate(datasource); DataSourceTransactionManager tran = new DataSourceTransactionManager(datasource);DefaultTransactionDefinition def = new DefaultTransactionDefinition();def.setPropagationBehavior(TransactionDef
6、inition.PROPAGATION_REQUIRED);TransactionStatus status = tran.getTransaction(def);try template.update(Insert into userinfo(username,password) values(aaaaa,bbbbb);template.update(Insert into userinfo(username,password) values(cccc,ddd);mit(status); catch (Exception ex) tran.rollback(status);Transacti
7、onTemplate實(shí)例final JdbcTemplate template = new JdbcTemplate(datasource);DataSourceTransactionManager tran = new DataSourceTransactionManager( datasource);TransactionTemplate trantemplate = new TransactionTemplate(tran);trantemplate.execute(new TransactionCallback() public Object doInTransaction(Trans
8、actionStatus status) int i = 0;try template.update(Insert into userinfo(username,password) values(jjj,kkk);template.update(Insert into userinfo(username,password) values(llll,mmm);i = 1; catch (Exception ex) ex.printStackTrace();status.setRollbackOnly();i = 0;return new Integer(i);聲明式事務(wù)q聲明式事務(wù)處理移植DataSourceTransactionManager到spring的配置文件中。使用類似編程式事務(wù)中的TransactionTemplate機(jī)制q聲明式事務(wù)處理的代理機(jī)制使用事務(wù)的代理完成事務(wù)AOP的處理。事物代理過(guò)程qspring聲明式事務(wù)處理也主要使用了ioc,aop思想,提供了TransactionInterceptor攔截器和常用的代理類Transac
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 揚(yáng)州安淘汽車服務(wù)有限公司介紹企業(yè)發(fā)展分析報(bào)告模板
- 湖南第一師范學(xué)院《侗族文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東師范大學(xué)《醫(yī)用統(tǒng)計(jì)方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京體育學(xué)院《口腔頜面影像診斷學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江科技學(xué)院《植物生理學(xué)及實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆應(yīng)用職業(yè)技術(shù)學(xué)院《智能醫(yī)學(xué)圖像處理課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 學(xué)校書(shū)香潤(rùn)心悅讀致遠(yuǎn)-世界讀書(shū)日活動(dòng)方案
- 物流公司門點(diǎn)管理制度
- 物流分揀員工管理制度
- 物流干線運(yùn)輸管理制度
- 印制電路板領(lǐng)域:深南電路企業(yè)組織結(jié)構(gòu)及部門職責(zé)
- 年產(chǎn)120萬(wàn)噸氧化鋁拜爾法生產(chǎn)高壓溶出工藝設(shè)計(jì)
- 《哈爾濱工程大學(xué)學(xué)報(bào)》模板
- DB14T 1049.1-2020 山西省用水定額 第1部分:農(nóng)業(yè)用水定額
- 配載平衡基礎(chǔ)培訓(xùn)
- 醫(yī)療廢物管理相關(guān)法律、法規(guī)介紹
- 漯河醫(yī)學(xué)高等??茖W(xué)校輔導(dǎo)員招聘考試行政管理教師崗筆試面試歷年真題庫(kù)試卷
- 政審在校證明
- 變電站一次通流-通壓試驗(yàn)方法的探討與實(shí)踐
- 線槽燈安裝施工工法
- 自由公差對(duì)照表(共3頁(yè))
評(píng)論
0/150
提交評(píng)論