三、在編寫買書方法:
/*** 事務的傳播行為:乙個事務方法被另乙個事務方法呼叫,
* 被呼叫的事務方法如何工作在事務中
* 使用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 支援當前事務,如果當前沒有事務,就丟擲異...