-
spring事務(wù)管理總結(jié)查看全部
-
事物的隔離級(jí)別查看全部
-
事務(wù)的特性: 原子性,不可分割,要么失敗,要么成功 一致性,前后數(shù)據(jù)完整性必須保持一致 隔離性,事務(wù)之間相互不影響 持久性,一個(gè)事務(wù)一旦提交,對(duì)數(shù)據(jù)庫的數(shù)據(jù)改變是永久性。(數(shù)據(jù)庫發(fā)生改變也不影響) Spring事務(wù)管理高層抽象主要包括3個(gè)接口: 1.PlaformTransactionManager 事務(wù)管理器 2.TransactionDefinition 事務(wù)定義信息(隔離,傳播,超時(shí),只讀) 3.TransactionStatus 事務(wù)具體運(yùn)行狀態(tài) 1.PlaformTransactionManager接口,根據(jù)不同的持久層的框架有不同的實(shí)現(xiàn)類 2.TransactionDefinition接口,提供了一組常量和方法 隔離級(jí)別:解決(臟讀,不可重復(fù)讀,幻讀) ->臟讀:a事務(wù)修改了數(shù)據(jù),但是還未提交,b事務(wù)讀到了這個(gè)數(shù)據(jù), 但是如果回滾了,b事務(wù)讀的的數(shù)據(jù)就是無效的 ->不可重復(fù)讀:限制在一個(gè)事務(wù)里,多次讀到的數(shù)據(jù),竟然有不同 ->幻讀:a事務(wù)讀了幾行數(shù)據(jù),b事務(wù)insert了幾條數(shù)據(jù), 導(dǎo)致a事務(wù)第二次執(zhí)行的時(shí)候,數(shù)據(jù)竟然和第一次讀到的數(shù)據(jù), 不一致(兩次查詢不一致) 傳播行為:解決業(yè)務(wù)層方法之間的相互調(diào)用的問題(7種分3類) 1.PROPAGATION_REQUIRED 支持當(dāng)前事務(wù),如果不存在就新建一個(gè)(主) 2.PROPAGATION_SUPPORTS 支持當(dāng)前事務(wù),如果不存在,就不使用事務(wù) 3.PROPAGATION_MANDATORY 支持當(dāng)前食物,如果不存在,拋出異常 1.PROPAGATION_REQUIRES_NEW 如果有事務(wù)存在,掛起當(dāng)前事務(wù),創(chuàng)建一個(gè)新事物(主) 2.PROPAGATION_NOT_SUPPORTED 以非事務(wù)方式運(yùn)行,如果有事物,掛起當(dāng)前事物 3.PROPAGATION_NEVER 以非事物方式運(yùn)行,如果有事務(wù)存在,拋出異常 1.PROPAGATION_NESTED 如果當(dāng)前事務(wù)存在,則嵌套事務(wù)執(zhí)行(主)( 回滾到保存點(diǎn),如果a發(fā)生異常,那么保存事務(wù)點(diǎn),b回滾的時(shí)候回滾到保存點(diǎn)或者事務(wù)的開始) 3.TransactionStatus 獲取或判斷事務(wù)的狀態(tài)查看全部
-
Spring測(cè)試: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:xxx.xml") @Resource(name="") Spring事務(wù):邏輯上的一組操作,要么全部成功,要么全部失敗 Spring事務(wù)管理的一組API Spring的編程式事務(wù)管理(事務(wù)管理模板) 1.在實(shí)際運(yùn)用中很少使用 2.通過TrasactionTemplate手動(dòng)管理事務(wù) 1.在AccountService中使用TransactionTemplate 2.TransactionTemplate依賴DataSourceTransactionManager 3.DataSourceTransactionManager依賴DataSource構(gòu)造 (事務(wù)管理器有了連接池才能獲得鏈接進(jìn)行事務(wù)管理) Spring的聲明式事務(wù)管理(重點(diǎn)) 1.開發(fā)中推薦使用(代碼入侵性最?。? 2.Spring的聲明式事務(wù)是(通過AOP實(shí)現(xiàn)的) 第一種:基于代理TransactionProxyFactoryBean; 注入:目標(biāo),事務(wù)管理器,事務(wù)屬性: 1.PROPAGATION :事務(wù)的傳播行為 2.ISOLATION :事務(wù)的隔離級(jí)別 3.readOnly :只讀,(不可以進(jìn)行修改,插入,刪除) 4.-Exception :發(fā)生那些異常回滾事務(wù) 5.+Exception :發(fā)生那些異常事務(wù)不回滾 第二種:基于AspectJ的XML方式(aspectJ的話,就是分的更加的詳細(xì),切入點(diǎn)(類),切入面(方法)) 1.配置事務(wù)的通知<tx> 2.配置切面,切點(diǎn)<aop> 第三種:基于注解的方式 1.開啟事務(wù)<tx:annotation-driven transaction-Manager="" /> 2.service類@Transactional(name=value)查看全部
-
5.+Exception :發(fā)生那些異常事務(wù)不回滾 第二種:基于AspectJ的XML方式(aspectJ的話,就是分的更加的詳細(xì),切入點(diǎn)(類),切入面(方法)) 1.配置事務(wù)的通知<tx> 2.配置切面,切點(diǎn)<aop>查看全部
-
Spring的聲明式事務(wù)管理(重點(diǎn)) 1.開發(fā)中推薦使用(代碼入侵性最小) 2.Spring的聲明式事務(wù)是(通過AOP實(shí)現(xiàn)的) 第一種:基于代理TransactionProxyFactoryBean; 注入:目標(biāo),事務(wù)管理器,事務(wù)屬性: 1.PROPAGATION :事務(wù)的傳播行為 2.ISOLATION :事務(wù)的隔離級(jí)別 3.readOnly :只讀,(不可以進(jìn)行修改,插入,刪除) 4.-Exception :發(fā)生那些異?;貪L事務(wù) 5.+Exception :發(fā)生那些異常事務(wù)不回滾查看全部
-
傳播行為:解決業(yè)務(wù)層方法之間的相互調(diào)用的問題(7種分3類) 1.PROPAGATION_REQUIRED 支持當(dāng)前事務(wù),如果不存在就新建一個(gè) 2.PROPAGATION_SUPPORTS 支持當(dāng)前事務(wù),如果不存在,就不使用事務(wù) 3.PROPAGATION_MANDATORY 支持當(dāng)前食物,如果不存在,拋出異常 1.PROPAGATION_REQUIRES_NEW 如果有事務(wù)存在,掛起當(dāng)前事務(wù),創(chuàng)建一個(gè)新事物 2.PROPAGATION_NOT_SUPPORTED 以非事務(wù)方式運(yùn)行,如果有事物,掛起當(dāng)前事物 3.PROPAGATION_NEVER 以非事物方式運(yùn)行,如果有事務(wù)存在,拋出異常 1.PROPAGATION_NESTED 如果當(dāng)前事務(wù)存在,則嵌套事務(wù)執(zhí)行查看全部
-
事務(wù)的隔離級(jí)別,事物的傳播行為查看全部
-
事務(wù)的特性:原子性,一致性,隔離型,持久性查看全部
-
事務(wù):邏輯上的一組操作,煙么全部成功,要么全部失敗查看全部
-
我的筆記查看全部
-
基于注解的聲明方式配置事務(wù)查看全部
-
事務(wù):是指邏輯上的一組操作,要么全都成功,要么全都失敗。 事務(wù)的特性:原子性,一致性,隔離性,持久性。查看全部
-
之前要做一些事情,之后要做一些事情,這就是aop的思想查看全部
-
編程式事務(wù)管理的相關(guān)配置查看全部
舉報(bào)
0/150
提交
取消