基于Transactional事務(wù)的使用以及注意說明
Transactional事務(wù)的使用及注意
Transactional的事務(wù)使用,主要引用兩個(gè)包中的Bean,一個(gè)是jpa的javax.transaction.Transactional,
另外一個(gè)是spring的
org.springframework.transaction.annotation.Transactional
兩個(gè)都能實(shí)現(xiàn)事務(wù)的作用,但是盡量2者不要混用,特別是一個(gè)事務(wù)包含多個(gè)service方法,一個(gè)service方法引用jpa,一個(gè)引用spring的。最好主要使用jpa的
org.springframework.transaction.annotation.Transactional
事務(wù)的回滾是在運(yùn)行時(shí)異常時(shí)進(jìn)行回滾的,所以如果有拋出異常時(shí),拋出的異常需要繼承RunTimeException,如果異常為普通的Exception,則需要在Transactional上標(biāo)明rollbackOn參數(shù)。
具體看如下例子,采用的jpa包中的事務(wù):
import javax.transaction.Transactional;
@Override
@Transactional( rollbackOn= AccountCoreException.class)
public String lock(OrderBalanceLockRq oclrq) throws AccountGatewayException,AccountCoreException {
public class SystemException extends RuntimeException {
AccountGatewayException繼承SystemException了,繼承了RuntimeException,如果捕獲到該異常,事務(wù)也會(huì)回滾。
AccountCoreException繼承了Exception,非RuntimeException,則rollback聲明一下,捕獲到該異常時(shí),事務(wù)也會(huì)回滾。
找不到Transactional類 依賴@Transactional的解決
看的別人的源代碼是這樣:
import org.springframework.transaction.annotation.Transactional;
但其實(shí)對(duì)我來說是錯(cuò)誤的
應(yīng)該是:
import org.springframework.transaction.annotation.Transactional;
添加的依賴如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
最后,今天的一大收獲是知道了
可以查所需要的東西,直接復(fù)制粘貼dependency。有些類不在我們所以為的包里,這個(gè)網(wǎng)站就顯得很有用。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- spring 中事務(wù)注解@Transactional與trycatch的使用
- Spring事務(wù)注解@Transactional失效的八種場(chǎng)景分析
- 解決@Transactional注解事務(wù)不回滾不起作用的問題
- Java注解@Transactional事務(wù)類內(nèi)調(diào)用不生效問題及解決辦法
- Spring聲明式事務(wù)@Transactional知識(shí)點(diǎn)分享
- springboot中事務(wù)管理@Transactional的注意事項(xiàng)與使用場(chǎng)景
- 淺談Spring中@Transactional事務(wù)回滾及示例(附源碼)
- Transactional replication(事務(wù)復(fù)制)詳解之如何跳過一個(gè)事務(wù)
相關(guān)文章
Spring IOC創(chuàng)建對(duì)象的兩種方式
這篇文章主要給大家介紹了關(guān)于Spring IOC創(chuàng)建對(duì)象的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
java實(shí)現(xiàn)附件預(yù)覽(openoffice+swftools+flexpaper)實(shí)例
本篇文章主要介紹了java實(shí)現(xiàn)附件預(yù)覽(openoffice+swftools+flexpaper)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10
SpringCloud Open feign 使用okhttp 優(yōu)化詳解
這篇文章主要介紹了SpringCloud Open feign 使用okhttp 優(yōu)化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
最新jsonwebtoken-jwt 0.12.3 基本使用小結(jié)
這篇文章主要介紹了最新jsonwebtoken-jwt 0.12.3 基本使用小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12
Java實(shí)現(xiàn)經(jīng)典游戲2048的示例代碼
2014年Gabriele Cirulli利用周末的時(shí)間寫2048這個(gè)游戲的程序。本文將用java語言實(shí)現(xiàn)這一經(jīng)典游戲,并采用了swing技術(shù)進(jìn)行了界面化處理,需要的可以參考一下2022-02-02
Java數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹的原理與實(shí)現(xiàn)
平衡樹(Balance Tree,BT) 指的是,任意節(jié)點(diǎn)的子樹的高度差都小于等于1。常見的符合平衡樹的有,B樹(多路平衡搜索樹)、AVL樹(二叉平衡搜索樹)等。本文將詳細(xì)介紹平衡二叉樹的概念和實(shí)現(xiàn)原理以及它的實(shí)現(xiàn)2022-01-01
spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法
這篇文章主要介紹了spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01

