使用註解實現spring的宣告式事務管理,更加簡單!
步驟:1) 必須引入aop相關的jar檔案
2) bean.xml中指定註解方式實現宣告式事務管理以及應用的事務管理器類
3)在需要新增事務控制的地方,寫上: @transactional
@transactional註解:
1)應用事務的註解
2)定義到方法上: 當前方法應用spring的宣告式事務
3)定義到類上: 當前類的所有的方法都應用spring宣告式事務管理;
4)定義到父類上: 當執行父類的方法時候應用事務。
修改bean.xml如下
<?xml version="1.0" encoding="utf-8" ?>
deptservice如下
@servicepublic class deptservice
}
對propagation=propagation.requires_new/propagation.required的測試
不管是否將部門儲存成功,都需要寫入日誌,這個時候要用requires_new
propagation.required
指定當前的方法必須在事務的環境下執行;
如果當前執行的方法,已經存在事務, 就會加入當前的事務;
propagation.required_new
指定當前的方法必須在事務的環境下執行;
如果當前執行的方法,已經存在事務: 事務會掛起; 會始終開啟乙個新的事務,執行完後; 剛才掛起的事務才繼續執行。
建立logdao
//測試,日誌傳播行為@repository
public class logdao
}
這個時候的deptservice如下
@servicepublic class deptservice
}
這個時候即出現數學異常日誌的儲存行為會正常的插入,而部門的儲存會正常進行。
spring宣告式事務管理(註解實現)
spring事務管理分為程式設計式事務管理和宣告式事務管理,後者又分為註解式和xml配置式,今天主要講簡單的註解式,先看beans4.xml,這是spring配置檔案,放在src源資料夾下 看配置檔案就知道要用哪些包,dbcp,mysql連線,spring核心包,然後註解事務宣告主要分三步,1.宣告...
宣告式事務管理
基於spring的aop的宣告式事務管理 這種管理方式只需要保證事務層方法命名有一定的規律,通過配置即可實現。基於 transational的宣告式事務管理 這種方式的事務管理是基於spring註解實現的,只需要在需要管理的事務層上加上該註解即可。配置註解自動掃瞄 新增註解 transactiona...
spring宣告式事務管理配置方式
最近學習了一下spring事務管理,這裡總結一下幾種不同的配置方法,如下圖 img b 1 通過 實現,每個bean乙個 b com.dreams.spring.tx.jdbc.userservice propagation required b 2 使用 b propagation require...