配置spring 事務

2021-08-04 19:45:14 字數 1184 閱讀 6528

三、在編寫買書方法:

/*** 事務的傳播行為:乙個事務方法被另乙個事務方法呼叫,

* 被呼叫的事務方法如何工作在事務中

* 使用propagation 指定事務的傳播行為,即當前的事務被另乙個事務方法呼叫時

*/@transactional(propagation=propagation.required)

@override

public void buy(string name)

//更新賬戶餘額

updatecount(name);

int num = integer.parseint(selectbooknum(name))-1;

if(num <0)

//更新書庫數量

updatebook(name);

system.out.println("購書完成");

}myexception 為自定義的異常整合runtimeexception,

因為spring宣告式事務對執行時異常支援事務的回滾

四:事務的傳播行為:

事務的7種傳播行為: 預設為required

propagation_required--支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。

propagation_supports--支援當前事務,如果當前沒有事務,就以非事務方式執行。

propagation_mandatory--支援當前事務,如果當前沒有事務,就丟擲異常。

propagation_requires_new--新建事務,如果當前存在事務,把當前事務掛起。

propagation_not_supported--以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

propagation_never--以非事務方式執行,如果當前存在事務,則丟擲異常。

propagation_nested如果乙個活動的事務存在,則執行在乙個巢狀的事務中. 如果沒有活動事務,

則按transactiondefinition.propagation_required 屬性執行

五、編寫買多本書的方法

/*** 買多本書

*/@transactional

@override

public void buybutch(string name, int num) {

for(int i=0;i

spring 事務配置

自己寫的乙個關於事務的配置例子,很簡單 主要是spring的事務可以借助於aop直接環繞在target屬性所對應操作的周圍。無須為事務寫多餘的 即輕便又減少了耦合。配置檔案部分 bean.xml 由於是簡單的例子所以就不寫那麼規範了 class部分 package com.f9inux.test i...

spring事務配置

1 宣告式事務配置 配置sessionfactory 配置事務管理器 事務的傳播特性 那些類那些方法使用事務 具體配置如下 localsessionfactorybean classpath hibernate.cfg.xml 這個classpath是spring為我們提供的專門用來讀取classp...

spring事務配置

這個required,就是spring事務型別,除了這種,還有其他好幾種,都列羅在下 required 支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。mandatory 支援當前事務,如果當前沒有事務,就丟擲異...