Spring程式設計式事務管理案例

2021-07-26 05:56:08 字數 1442 閱讀 8273

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...