<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 156,  comments - 601,  trackbacks - 0

    Spring聲明式事務功能應該是大家應用Spring中使用的最多的功能之一了,的確該功能極大的簡化了大家對數據庫操作的。目前Spring支持的聲明式事務有兩個配置方式,一種是XML配置方式,另一種是注解方式


    針對配置這塊,XML配置同學們會覺得比較麻煩,特別是針對事務屬性的配置,所以補充一下本塊配置說明,特分享給大家,希望對大家有幫助。

    下面是SpringXML配置事務比較常用的方式,也是我們這邊事務XML配置事務的使用方式,本文以該種配置為例,進行說明。

        <bean id="transactionInterceptor"
            class
    ="org.springframework.transaction.interceptor.TransactionInterceptor">
            
    <property name="transactionManager" ref="transactionManager" />
            
    <property name="transactionAttributes">
                
    <props>
                    
    <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
                    
    <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
                    
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                    
    <prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
                    
    <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
                    
    <prop key="*">PROPAGATION_REQUIRED</prop>
                
    </props>
            
    </property>
        
    </bean>


    配置詳解說明如下:

     TransactionInterceptor 是聲明式事務攔截器??梢杂?/span>Spring AOP攔截器進行回調。

     transactionAttributes 是事務屬性的配置說明,也是大家覺得比較不好配置,不太容易記憶的地方

    它的配置規則如下:因為都有前綴標識,所以順序可以修改。

    (PROPAGATION_NAME,ISOLATION_NAME,readOnly,timeout_NNNN,+Exception1,-Exception2)

      PROPAGATION_REQUIRED 事務的傳播級別(PROPAGATION_開頭). 可設置值說明如下:

    PROPAGATION_REQUIRED 使用當前事務,如果當前沒有事務,則開啟新事務

    PROPAGATION_SUPPORTS 當前有事務則用,沒有事務則不用

    PROPAGATION_MANDATORY 當前有事務就用,沒有事務則報錯(必須要用事務)

    PROPAGATION_REQUIRES_NEW 當前有事務則掛起原事務,新啟事務(必開新事務)

    PROPAGATION_NOT_SUPPORTED 不使用事務,如果當前有事務,則掛起事務

    PROPAGATION_NEVER 不能有事務,如果當前有事務,則報錯(必須沒有事務)

    PROPAGATION_NESTED PROPAGATION_REQUIRED

     

     ISOLATION_DEFAULT 事務隔離級別(ISOLATION_開頭)

    ISOLATION_DEFAULT  使用數據庫默認事務

    ISOLATION_READ_UNCOMMITTED

    ISOLATION_READ_COMMITTED

    ISOLATION_REPEATABLE_READ

    ISOLATION_SERIALIZABLE

     readOnly

    如果設置,則表示只讀事務,如果不設置,則表示讀來事務

    TIMEOUT_DEFAULT 事務超時設置(timeout_ 開頭)

    單位是秒。 例如 timeout_20 則表示事務超時時間是20秒。

     +Exception 表示遇到該異常時,執行回滾

     –Exception 表示遇到該異常時,不執行加滾

    transactionManager 是事務管理器,針對不同的持久層,事務都會提供不同的實現。其接口都是org.springframework.transaction.PlatformTransactionManager

     

    XML配置事務方式的優點就是不用改任何代碼,希望此份配置詳解可以對大家有幫助
    posted on 2011-06-23 13:25 x.matthew 閱讀(4388) 評論(3)  編輯  收藏 所屬分類: Spring|Hibernate|Other framework
    主站蜘蛛池模板: 午夜视频在线在免费| 亚洲午夜久久久久久久久久| 亚洲香蕉免费有线视频| 亚洲欧洲日产国码高潮αv| 亚洲一区免费观看| 苍井空亚洲精品AA片在线播放 | 久久精品国产亚洲AV香蕉| 99久久免费精品视频| 亚洲第一页中文字幕| 无人在线直播免费观看| 亚洲一卡二卡三卡四卡无卡麻豆| 99久久免费国产精品特黄| 亚洲欧美国产欧美色欲| 免费一级毛片在级播放| 久久久受www免费人成| 亚洲Av永久无码精品三区在线 | 精品久久久久久亚洲综合网| 国产无遮挡又黄又爽免费视频 | 4hu四虎最新免费地址| 亚洲国产乱码最新视频| 久久黄色免费网站| 亚洲成人福利网站| 成年女人看片免费视频播放器| 亚洲AV日韩综合一区| 在线观看的免费网站| 综合一区自拍亚洲综合图区| 久久亚洲精品无码观看不卡| 久久免费观看国产99精品| 2020亚洲男人天堂精品| 日本免费网站视频www区| 亚洲色最新高清av网站| 亚洲综合精品网站| 久热中文字幕在线精品免费| 国产成人综合久久精品亚洲| 午夜网站免费版在线观看| 人人爽人人爽人人片A免费| 亚洲自偷自拍另类12p| 国产老女人精品免费视频| 在线观看免费视频网站色| 亚洲三级视频在线| a级毛片毛片免费观看久潮|