Spring的宣告式事務管理

2021-08-29 17:54:05 字數 1116 閱讀 2761

小結:用spring aop配置事務要注意的幾項

spring aop形式管理事務,spring的官方文件寫得不全,容易漏配,特總結如下:

1,資料來源要加上資料來源事務**

xml**

2,事務特性配置時,要註明rollback-for型別,並不是所有的異常都回滾的

xml**

3,配置哪些類的方法需要進行事務管理時,表示式要寫對

xml**

此處只對com.jstrd.talent.manager包下的類進行管理,並不會對其子包也進行管理的

4,要通過ctx.getbean("beanname")的形式來獲取管理類,而不是new乙個管理類出來

spring的宣告式事務管理有關的設定

有關的設定

這一節裡將描述通過 標籤來指定不同的事務性設定。預設的 設定如下:

事務傳播設定是 required

隔離級別是 default

事務是 讀/寫

事務超時預設是依賴於事務系統的,或者事務超時沒有被支援。

任何 runtimeexception 將觸發事務回滾,但是任何 checked exception 將不觸發事務回滾

這些預設的設定當然也是可以被改變的。 和 標籤裡的 各種屬性設定總結如下:

表 9.1. 有關的設定

屬性 是否需要? 預設值 描述

name 是 與事務屬性關聯的方法名。萬用字元(*)可以用來指定一批關聯到相同的事務屬性的方法。 如:'get*'、'handle*'、'on*event'等等。

propagation 不 required 事務傳播行為

isolation 不 default 事務隔離級別

timeout 不 -1 事務超時的時間(以秒為單位)

read-only 不 false 事務是否唯讀?

rollback-for 不 將被觸發進行回滾的 exception(s);以逗號分開。 如:'com.foo.mybusines***ception,servletexception'

no-rollback-for 不 不 被觸發進行回滾的 exception(s);以逗號分開。 如:'com.foo.mybusines***ception

Spring宣告式事務管理

使用事務的目的是將整個業務的邏輯處理置於同乙個事務中,方便對整個業務進行管理,如業務的事務回滾 在編寫 時,為了將乙個業務的核心邏輯處理放入事務中,有時會這樣寫 session session sf.opensession 開啟乙個session session.gettransaction beg...

Spring宣告式事務管理

spring的宣告式事務管理,可以說是開發人員的福音,也是架構師們的法寶 通過這個神器我們可以有效的解決事務不一致 連線洩露等問題 下面我們就介紹一下spring宣告式事務的配置 1 建立事務管理器 2 制定事務管理 3 建立切面 備註 事務管理機制說明propagation 屬性值 require...

Spring宣告式事務管理

classpath hibernate.cfg.xml public class usermanagerimpl extends hibernatedaosupport implements usermanager public void adduser user user throws excep...