首頁  >  文章  >  Java  >  java聲明式事務的方法有哪些

java聲明式事務的方法有哪些

PHPz
PHPz轉載
2023-05-16 19:10:591591瀏覽

一、宣告式事務

透過 AOP(面向切面)方式在方法前使用編程式事務的方法開啟事務,在方法後提交或復原.以設定檔的方法或註解方法(如:@Transactional)控制事務。

註解在方法上是方法自動啟動事務,在類別上是整個類別中的方法都使用事務

二、方法

1.基於TransactionProxyFactoryBean的聲明式事務管理

#在applicationContext.xml中配置

java聲明式事務的方法有哪些

然後在需要進行交易管理的service層注入這個代理類accountrviceProxy

@Resource(name="accountrviceProxy")

這種方式有個缺點,就是我們要給每一個需要進行事務管理的service類都要配上它的代理類,配置起來比較繁瑣。

2.基於AspectJ的XML的宣告式交易管理

在設定切入點時有一個表達式:

expression="execution(* com.cn.study.spring.service.IAccountService+.*(..))"

execution括號裡的參數依序表示方法傳回類型,包名,類別名,方法名稱及方法的參數

其中 * 表示任意

IAccountService 表示IAccountService介面所有實作類別的方法

#這種方式是比較常用的一種。

3.基於註解的宣告式交易管理

第三種方式最簡單,我們只需要在applicationContext.xml中設定開啟註解交易的驅動,然後在需要進行事務管理的類別前加上註解:

@Transactional(propagation=Propagation.REQUIRED)

以上是java聲明式事務的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除