TransactionTemplate
可能是個(gè)好辦法。
只有編程式事務(wù)管理才能顯式的設(shè)置事務(wù)名稱和事務(wù)的傳播特性,所有編程式事務(wù)更加靈活。
事務(wù)的7種傳播特性:
1.PROPAGATION_REQUIRED
如果存在一個(gè)事務(wù)、則支持當(dāng)前事務(wù)。如果沒有事務(wù)則開啟。
2.PROPAGATION_SUPPORTS
如果存在一個(gè)事務(wù)、則支持當(dāng)前事務(wù)。如果沒有事務(wù)則非事務(wù)執(zhí)行。
3.PROPAGATION_MANDATORY
如果已經(jīng)存在一個(gè)事務(wù)、則支持當(dāng)前事務(wù)。如果沒有活動事務(wù)則拋出異常。
4.PROPAGATION_REQUIRES_NEW
總是開啟一個(gè)新的事務(wù)、如果已經(jīng)存在一個(gè)事務(wù)、則將這個(gè)事務(wù)掛起。
5.PROPAGATION_NOT_SUPPORTED
總是非事務(wù)執(zhí)行、并掛起任何存在的事務(wù)。
6.PROPAGATION_NEVER
總是非事務(wù)執(zhí)行、如果存在一個(gè)活動事務(wù)則拋出異常。
7.PROPAGATION_NESTED
果一個(gè)活動的事務(wù)存在,則運(yùn)行在一個(gè)嵌套的事務(wù)中。如果沒有活動事務(wù),則按REQUIRED屬性執(zhí)行。
如果你的應(yīng)用中存在大量事務(wù)操作,那么聲明式事務(wù)管理通常是值得的。它將事務(wù)管理與業(yè)務(wù)邏輯分離,而且在Spring中配置也不難。但是我們的開發(fā)中,一般使用到事務(wù)的地方比較少,尤其是商城系統(tǒng)讀的操作會非常多。用到事務(wù)的地方也就那么幾個(gè)地方,使用聲明式事務(wù),對速度要求較高的商城系統(tǒng)中。反而會帶來性能問題。所以易寫科技 java商城系統(tǒng)采用Spring的編程式事務(wù)來處理事務(wù),下圖項(xiàng)目中取消訂單代碼的截圖,請查看:
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機(jī)的問題,請?jiān)L問西部數(shù)碼官網(wǎng):m.ps-sw.cn