<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聲明式事務(wù)功能應(yīng)該是大家應(yīng)用Spring中使用的最多的功能之一了,的確該功能極大的簡化了大家對(duì)數(shù)據(jù)庫操作的。目前Spring支持的聲明式事務(wù)有兩個(gè)配置方式,一種是XML配置方式,另一種是注解方式


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

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

        <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 是聲明式事務(wù)攔截器。可以由Spring AOP攔截器進(jìn)行回調(diào)。

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

    它的配置規(guī)則如下:因?yàn)槎加星熬Y標(biāo)識(shí),所以順序可以修改。

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

      PROPAGATION_REQUIRED 事務(wù)的傳播級(jí)別(PROPAGATION_開頭). 可設(shè)置值說明如下:

    PROPAGATION_REQUIRED 使用當(dāng)前事務(wù),如果當(dāng)前沒有事務(wù),則開啟新事務(wù)

    PROPAGATION_SUPPORTS 當(dāng)前有事務(wù)則用,沒有事務(wù)則不用

    PROPAGATION_MANDATORY 當(dāng)前有事務(wù)就用,沒有事務(wù)則報(bào)錯(cuò)(必須要用事務(wù))

    PROPAGATION_REQUIRES_NEW 當(dāng)前有事務(wù)則掛起原事務(wù),新啟事務(wù)(必開新事務(wù))

    PROPAGATION_NOT_SUPPORTED 不使用事務(wù),如果當(dāng)前有事務(wù),則掛起事務(wù)

    PROPAGATION_NEVER 不能有事務(wù),如果當(dāng)前有事務(wù),則報(bào)錯(cuò)(必須沒有事務(wù))

    PROPAGATION_NESTED PROPAGATION_REQUIRED

     

     ISOLATION_DEFAULT 事務(wù)隔離級(jí)別(ISOLATION_開頭)

    ISOLATION_DEFAULT  使用數(shù)據(jù)庫默認(rèn)事務(wù)

    ISOLATION_READ_UNCOMMITTED

    ISOLATION_READ_COMMITTED

    ISOLATION_REPEATABLE_READ

    ISOLATION_SERIALIZABLE

     readOnly

    如果設(shè)置,則表示只讀事務(wù),如果不設(shè)置,則表示讀來事務(wù)

    TIMEOUT_DEFAULT 事務(wù)超時(shí)設(shè)置(timeout_ 開頭)

    單位是秒。 例如 timeout_20 則表示事務(wù)超時(shí)時(shí)間是20秒。

     +Exception 表示遇到該異常時(shí),執(zhí)行回滾

     –Exception 表示遇到該異常時(shí),不執(zhí)行加滾

    transactionManager 是事務(wù)管理器,針對(duì)不同的持久層,事務(wù)都會(huì)提供不同的實(shí)現(xiàn)。其接口都是org.springframework.transaction.PlatformTransactionManager

     

    XML配置事務(wù)方式的優(yōu)點(diǎn)就是不用改任何代碼,希望此份配置詳解可以對(duì)大家有幫助
    posted on 2011-06-23 13:25 x.matthew 閱讀(4393) 評(píng)論(3)  編輯  收藏 所屬分類: Spring|Hibernate|Other framework
    主站蜘蛛池模板: 亚洲一区二区影视| 亚洲最新黄色网址| 亚洲综合一区二区| 67194在线午夜亚洲| 国产精品亚洲专区无码唯爱网| 亚洲AV网一区二区三区| 免费夜色污私人影院网站| 91视频免费观看| 国产电影午夜成年免费视频| 免费电视剧在线观看| www.亚洲精品.com| 亚洲不卡av不卡一区二区| 亚洲一区免费视频| 一本久久免费视频| 久视频精品免费观看99| 成人免费午夜在线观看| 亚洲精品国产V片在线观看| 久久亚洲精品成人AV| 亚洲av无码专区青青草原| a视频在线观看免费| 成人免费无码视频在线网站| 久久精品亚洲男人的天堂| 亚洲视频免费在线看| 羞羞的视频在线免费观看| 日本在线免费观看| 国产成人在线观看免费网站| 亚洲av永久无码精品表情包| 99亚偷拍自图区亚洲| 久久久久久国产a免费观看不卡| 免费在线视频你懂的| 成人亚洲综合天堂| 亚洲宅男天堂a在线| 亚洲高清免费视频| 在线观看日本免费a∨视频| 综合亚洲伊人午夜网| 在线观看亚洲AV日韩AV| 免费在线黄色电影| 日韩高清在线免费观看| 亚洲日本一区二区| 国产日韩精品无码区免费专区国产 | 亚洲爆乳大丰满无码专区|