Spring中propagation的7種事務配置

2021-09-25 09:39:45 字數 582 閱讀 4046

一、在宣告式的事務處理中,要配置乙個切面,其中就用到了propagation,表示打算對這些方法怎麼使用事務,是用還是不用,其中propagation有七種配置,required、supports、mandatory、requires_new、not_supported、never、nested。預設是required。

二、spring中七種propagation類的事務屬性詳解: 

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

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

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

requires_new:新建事務,如果當前存在事務,把當前事務掛起。 

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

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

nested:支援當前事務,如果當前事務存在,則執行乙個巢狀事務,如果當前沒有事務,就新建乙個事務。 

三、注意. 

這個配置將影響資料儲存,必須根據情況選擇。 

Spring複習筆記 Spring中的Bean

注意構造器例項化 最常用 靜態工廠方式例項化 例項工廠方式例項化 singleton 單例 始終使用的同乙個物件 預設 prototype 原型 每次都是乙個新的bean例項 request session globalsession websocket init method屬性 用於指定bean...

Spring中 Transactional的使用

1.在需要事務管理的地方加 transactional註解,transactional 註解可以被應用於介面定義和介面方法 類定義和類的 public 方法上.2.transactional 註解只能應用到 public 可見度的方法上,如果你在 protected private 或者 packa...

Spring中 Transactional失效問題

spring中的宣告式註解 transactional很大程度的方便了開發者進行db資料儲存。但是在一些特殊情況下,可能會造成註解不是按想定的方式生效,這裡說幾種可能造成的幾種情況。這是一種比較簡單不過稍不注意也可能會犯的情況。spring中事務提交還是回滾是根據呼叫的方法是否丟擲異常來決定的,因此...