-
事務(wù)管理器 PlatformTransactionManager
查看全部 -
Spring事務(wù)管理器高層抽象主要包括3個(gè)接口
查看全部 -
事務(wù)的特性——持久性查看全部
-
事務(wù)的特性——隔離性查看全部
-
事務(wù)的特性——一致性查看全部
-
事務(wù)的特性——原子性查看全部
-
事務(wù)的特性查看全部
-
什么是事務(wù)?
查看全部 -
AspectJ的XML方式
基于注解方式
查看全部 -
使用spring提供的 tx 和 aop 命名空間通過配置aop的方式來實(shí)現(xiàn)事務(wù)管理,
關(guān)注點(diǎn)在于和普通aop配置的區(qū)別,普通aop配置通常是使用<aop : aspect>元素來定義切面,一個(gè)切面可以有任意個(gè)通知,同時(shí)需要配置切點(diǎn)和連接點(diǎn)。配置事務(wù)管理使用 <tx : advice> 來單獨(dú)定義了事務(wù)管理的通知,因?yàn)槭菃蝹€(gè)的通知,所以使用<aop : advisor>元素就可以進(jìn)行引用,同時(shí)事務(wù)管理是在目標(biāo)方法前后添加操作且前后操作相關(guān)聯(lián),所以使用的應(yīng)該是環(huán)繞通知,由于這是固定的,推測(cè)spring默認(rèn)就會(huì)應(yīng)用,所以配置中可以不用配置連接點(diǎn)
查看全部 -
使用TransactionProxyFactoryBean類本質(zhì)上就是為每一個(gè)需要添加事務(wù)的類手動(dòng)的創(chuàng)建一個(gè)對(duì)應(yīng)的代理類,最后使用代理類來執(zhí)行操作,這種方式是靜態(tài)的,并不是像使用AOP那樣能動(dòng)態(tài)的為目標(biāo)方法生成代理類,所以應(yīng)用范圍很有限,了解即可
查看全部 -
Spring支持的兩種事務(wù)管理方式:
編程式的事務(wù)管理,使用TransactionTemplate來通過編寫代碼的方式控制事務(wù),應(yīng)用很少;
聲明式的事務(wù)管理,通過Spring的AOP功能,使用XML配置或注解的形式來達(dá)到事務(wù)管理的目的,不對(duì)業(yè)務(wù)代碼產(chǎn)生侵入,普遍使用;
查看全部 -
事務(wù)的傳播行為要解決的問題:
業(yè)務(wù)層中添加了事務(wù)的的多個(gè)方法被一起調(diào)用時(shí)如何處理各方法間事務(wù)的關(guān)系的問題,具體來說是事務(wù)如何傳遞的問題。
假如業(yè)務(wù)層中有事務(wù)方法A和B,另外有一個(gè)方法C在其方法體中依次調(diào)用了A和B,由于A和B都有各自的事務(wù),此時(shí)B的傳播行為就決定了其如何處理和A已有的事務(wù)之間的關(guān)系;
七種傳播行為分為三類:
支持當(dāng)前事務(wù),即事務(wù)存在則加入當(dāng)前事務(wù),如果事務(wù)不存在分別有新建一個(gè)事務(wù),不使用事務(wù),拋出異常三種行為;
不支持當(dāng)前事務(wù),即獨(dú)立運(yùn)行事務(wù),如果事務(wù)存在分別有新建一個(gè)事務(wù),不使用事務(wù),拋出異常三種行為;
如果當(dāng)前事務(wù)存在,則將自身的事務(wù)作為當(dāng)前事務(wù)的子事務(wù)運(yùn)行,在運(yùn)行子事務(wù)時(shí),當(dāng)前事務(wù)記錄一個(gè)保存點(diǎn),子事務(wù)不報(bào)錯(cuò)則和當(dāng)前事務(wù)一起提交或回滾,子事務(wù)報(bào)錯(cuò)則根據(jù)自定義配置讓當(dāng)前事務(wù)回滾到保存點(diǎn)或起始點(diǎn);
查看全部 -
spring事務(wù)管理的核心接口,
PlatformTransactionManager的實(shí)現(xiàn)類真正執(zhí)行事務(wù)管理;
TransactionDefinition的實(shí)現(xiàn)類保存了對(duì)事務(wù)管理的配置信息,該類的實(shí)例被Manager讀取用來創(chuàng)建執(zhí)行事務(wù)管理的對(duì)象;
TransactionStatus的實(shí)現(xiàn)類保存了事務(wù)運(yùn)行中的狀態(tài);
查看全部 -
xml方式配置聲明式事務(wù)
查看全部
舉報(bào)