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

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

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

    posts - 23, comments - 0, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    spring事務管理配置總結

    Posted on 2008-08-18 17:05 beauty9235 閱讀(1028) 評論(0)  編輯  收藏

    作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229654  發表時間: 2008年05月23日

    聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

    事務代理標準寫法

     

    <!--DAO層接口實現  -->
    <bean id="userDAO" class="net.test.dao.UserDAO">
           
    <property name="sessionFactory">
                  
    <ref local="sessionFactory" />
           
    </property>
    </bean>
     
    <!--業務層接口實現,把DAO注入到Service里面 --> 
    <bean name="userServiceTarget" class="net.test.service.UserService">
           
    <property name="userDAO">
                  
    <ref bean="userDAO" />
           
    </property>
    </bean>
    <!--spring代理業務層的事務管理 -->
    <bean id="userServiceProxy"  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
           
    <property name="transactionManager">
                  
    <ref local="transactionManager" />
           
    </property>
           
    <property name="transactionAttributes">
                  
    <props>
                        
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
                        
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                  
    </props>
           
    </property>
           
    <property name="target">
                  
    <ref bean="userServiceTarget" />
           
    </property>
    </bean>

    事務代理簡寫法

     

    <bean id="baseTxProxy" lazy-init="true"
            class
    ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
            
    <property name="transactionManager">
                
    <ref bean="transactionManager" />
            
    </property>
            
    <property name="transactionAttributes">
                
    <props>
                    
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
                    
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                
    </props>
            
    </property>
        
    </bean>
        
    <bean id="userDAO" class="net.test.dao.UserDAO">
            
    <property name="sessionFactory">
                
    <ref local="sessionFactory" />
            
    </property>
        
    </bean>
        
    <bean id="userServiceProxy" parent="baseTxProxy">
            
    <property name="target">
                
    <bean class="net.test.service.UserService">
                    
    <property name="userDAO">
                        
    <ref local="userDAO" />
                    
    </property>
                
    </bean>
            
    </property>
        
    </bean>

    事務自動化代理寫法

     

    <!-- 定義事務攔截器bean -->
        
    <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
            
    <property name="transactionManager" ref="transactionManager"/>
            
    <property name="transactionAttributes">
                
    <props>
                    
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
                    
    <prop key="update*">PROPAGATION_REQUIRED</prop>
                    
    <prop key="delete*">PROPAGATION_REQUIRED</prop>
                    
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                    
    <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
                    
    <prop key="*">PROPAGATION_REQUIRED</prop>
                
    </props>
            
    </property>
        
    </bean>
        
    <!--定義BeanNameAutoProxyCreator-->
        
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
            
    <property name="beanNames">
            
    <!--
                 所有名字以DAO,Service結尾的bean,
                將由該"bean后處理器"為其創建事務代理;
                實際上應該在業務層進行事務管理,
                這里只是舉一個簡單例子 
                
    -->
                
    <value>*DAO,*ServiceProxy</value>
            
    </property>
            
    <!--下面定義BeanNameAutoProxyCreator所需的事務攔截器-->
            
    <property name="interceptorNames">
                
    <list>
                
    <!--可以增加其他的攔截器-->
                
    <value>transactionInterceptor</value>
                
    </list>
            
    </property>
        
    </bean>
        
    <bean id="userDAO" class="net.test.dao.UserDAO">
            
    <property name="sessionFactory">
                
    <ref local="sessionFactory" />
            
    </property>
        
    </bean>
        
    <bean id="userServiceProxy" class="net.test.service.UserService">
            
    <property name="userDAO">
                
    <ref bean="userDAO" />
            
    </property>
        
    </bean>

    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费观看成人毛片a片2008| 久久免费动漫品精老司机| 和日本免费不卡在线v| 亚洲精品无码不卡| 日韩免费人妻AV无码专区蜜桃| 亚洲乱码国产乱码精品精| 成全视成人免费观看在线看| 91麻豆国产自产在线观看亚洲 | 免费无码精品黄AV电影| 亚洲AV日韩综合一区尤物| 成年女人喷潮毛片免费播放| 亚洲精品乱码久久久久蜜桃| 四虎永久免费网站免费观看| 人禽伦免费交视频播放| 国产亚洲精品成人a v小说| a在线观看免费视频| 久久亚洲精品无码AV红樱桃| 和日本免费不卡在线v| 亚洲精品无码专区在线| 免费成人av电影| 国产99久久久久久免费看| 国产亚洲无线码一区二区| 亚洲黄色免费网址| 亚洲精品伦理熟女国产一区二区| 亚洲国产精品无码久久久久久曰 | 人体大胆做受免费视频| 亚洲人成无码网站| 日本h在线精品免费观看| 亚洲AV无码资源在线观看| 国产成人亚洲精品狼色在线| 久久九九全国免费| 伊人久久亚洲综合影院首页| 亚洲国产人成精品| 久久免费国产视频| 亚洲日韩在线中文字幕综合| 亚洲AV综合色区无码另类小说| 最新中文字幕免费视频| GOGOGO高清免费看韩国| 亚洲一区欧洲一区| 亚洲理论电影在线观看| 18禁成年无码免费网站无遮挡|