小結:用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...