Spring中transaction的應用

2021-08-25 06:22:39 字數 473 閱讀 4525

spring框架的事務基礎架構**將預設地 只 在丟擲執行時和unchecked exceptions時才標識事務回滾;

當出現異常,都可以進行回滾,可以在catch塊中使用下面一行**,這種方法是手工進行設定事務回滾:

transactionaspectsupport.currenttransactionstatus().setrollbackonly();

而另外一種方式是通過配置檔案進行自動rollback,在進行事務的方法需要將異常再向上丟擲,這樣才能保證事務rollback,否則會出現問題!具體見下面的配置

這裡的定義在網上可以找到對應的解釋,在這裡不作說明,使用事務的目的是當在乙個方法中,需要將資料插入到不同的表中,或者象發簡訊等應用時,當乙個失敗了,就需要將已經操作完成的置為沒有操作的狀態,這樣才能保證事物的一致性!

這裡需要注意的是,在aop pointcut中定義的類中的方法,必須將exception向外丟擲,否則就達不到預期目的!

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中事務提交還是回滾是根據呼叫的方法是否丟擲異常來決定的,因此...