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

