import org.springframework.beans.factory.annotation.autowired;
import org.springframework.transaction.transactionstatus;
import org.springframework.transaction.support.transactioncallback;
import org.springframework.transaction.support.transactionsynchronizationadapter;
import org.springframework.transaction.support.transactionsynchronizationmanager;
import org.springframework.transaction.support.transactiontemplate;
//本類實現了乙個事務,本地提交成功後再執行其他的事情
public class testtransaction
@autowired
transactiontemplate transactiontemplate;
public void testtransaction(objectobject)
object result = transactiontemplate.execute(new transactioncallback()
@override
public object dointransaction(transactionstatusstatus)
return dotransaction();
* 執行本地事務**
* @return
private object dotransaction()
//do something
//注意如下**需要在資料庫提交前註冊到事務中
registtransactionsynchronizationmanager();
//operate db
return new object();
* 在當前執行緒中註冊乙個事物同步管理器,當事物執行成功後繼續執行,也可以當事物成功執行前執行
private void registtransactionsynchronizationmanager()
if (transactionsynchronizationmanager.issynchronizationactive())
transactionsynchronizationmanager.registersynchronization(new transactionsynchronizationadapter()
//事物提交完畢後執行
@override
public void aftercommit()
//dosomething
spring 程式設計式事務管理
事務管理很重要,他保證了每一步的操作都是可靠的,即便出現了異常的情況也不會破壞資料庫的完整性。1 在 spring 中,事務是通過 transactiondefinition 介面來定義的。該介面包含與事務屬性有關的方法。具體內容如 下 public inte ce transactiondefin...
1 07 Spring程式設計式事務管理
示例demo 位於dao的實現類當中 配置beans.xml xmlns xsi xsi schemalocation spring beans 3.0.xsd bean 基於xml實現事務管理 spring宣告式事務管理的特點 本質 對方法前後進行攔截 具體過程 優點 分離業務邏輯 和事務管理 位...
spring事務管理(宣告式事務和程式設計式事務)
spring的事務管理分為 宣告式事務和程式設計式事務 spring對事務管理通常分為三部分 datasource transactionmanager和 機制這三部分,無論哪種配置方式,一般變化的只是 機制這部分。hibernate.dialect org.hibernate.dialect.my...