spring的宣告式事務管理

2021-07-03 12:20:15 字數 1440 閱讀 5820

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

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

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

xml** 

class="org.springframework.jdbc.datasource.drivermanagerdatasource">  

value="$"/>  

class="org.springframework.jdbc.datasource.drivermanagerdatasource"> 

value="$"/>

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

xml** 

transaction-manager="talent.defaulttransactionmanager">  

transaction-manager="talent.defaulttransactionmanager"> 

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...