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

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

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

    隨筆-9  評論-168  文章-266  trackbacks-0

    Spring 2.0 事務處理方式: http://www.tkk7.com/algz/articles/262941.html

    前者:   都需創建HibernateTransactionManager類.
    <bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
      <property name="sessionFactory">
       <ref local="sessionFactory" />
      </property>
     </bean>

    (一)org.springframework.transaction.interceptor.TransactionProxyFactoryBean:  創建代理事務.

    事務代理Bean:

     1 <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
     2       <property name="transactionManager">
     3             <ref bean="transactionManager" />
     4       </property>
     5       <property name="target">
     6            <ref local="userDAO" />
     7       </property>
     8       <property name="transactionAttributes">
     9            <props>
    10                 <prop key="insert*">PROPAGATION_REQUIRED</prop>
    11           </props>
    12       </property>
    13 </bean>


    引用代理Bean:

    1 <bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">
    2     <property name="userDAO">                                     <!--這里的userDAO是LoginAction的屬性-->
    3           <ref bean="userDAOProxy" />                              <!--ref bean=userDAO,  調用的是原來的Bean,  則不是在事務中運行-->
    4     </property>
    5 </bean>



    (二)org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator:  根據BeanName自動創建事務代理
    org.springframework.transaction.interceptor.TransactionInterceptor:  攔截器

     1<!--                    無需引用代理BEAN(bean id 可去掉),業務層(/login)可直接調用原來的Bean==>userDAO(userDAO已封裝入事務)                          -->
     2 <bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
     3       <property name="beanNames">
     4             <value>userDAO</value>
     5       </property>
     6       <property name="interceptorNames">
     7             <list>
     8                 <value>transactionInterceptorName</value>
     9             </list>
    10        </property>
    11 </bean>
    12
    13<!--                   攔截器,定義事務策略                               -->
    14 <bean id="transactionInterceptorName" class="org.springframework.transaction.interceptor.TransactionInterceptor">
    15       <property name="transactionAttributes">
    16           <props>
    17               <prop key="*">PROPAGATION_REQUIRED</prop>                    <!--事務策略定義-->
    18           </props>
    19       </property>
    20       <property name="transactionManager">
    21             <ref local="transactionManager" />
    22       </property>
    23 </bean>


     

    (三)DefaultAdvisorAutoProxyCreator:  自動創建事務代理.(與二類似)
    posted on 2007-11-26 17:00 紫蝶∏飛揚↗ 閱讀(1109) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲精品国产成人中文| 久99久无码精品视频免费播放| 日韩精品免费视频| 国产99视频精品免费视频7| 亚洲狠狠ady亚洲精品大秀| 你懂得的在线观看免费视频| 国产国产成年年人免费看片| 亚洲白色白色永久观看| 91国内免费在线视频| 亚洲AV伊人久久青青草原| 亚洲日产乱码一二三区别| 亚洲精品在线免费观看| 亚洲国产精品无码久久一线| 男女作爱免费网站| 日日操夜夜操免费视频| 亚洲精品美女网站| 精品久久8x国产免费观看| 亚洲ⅴ国产v天堂a无码二区| aaa毛片免费观看| 又粗又硬又大又爽免费视频播放| 亚洲色图激情文学| 亚洲精品免费在线| 亚洲五月激情综合图片区| 在线观看人成视频免费无遮挡| jjzz亚洲亚洲女人| 春暖花开亚洲性无区一区二区| 扒开双腿猛进入爽爽免费视频 | 亚洲a级成人片在线观看| 久久国产乱子伦精品免费一| 亚洲一区精品无码| 国产高清视频免费在线观看| mm1313亚洲精品国产| 国产亚洲美女精品久久久久| 日本免费人成视频播放| 亚洲中文字幕乱码熟女在线| 在线视频观看免费视频18| 亚洲va精品中文字幕| 男女做羞羞的事视频免费观看无遮挡 | 亚洲av无码不卡| 久久99精品国产免费观看| 亚洲AV日韩精品久久久久久久|