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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    一.
    使用TransactionProxyFactoryBean創建事務代理(通常事務代理以Service層為目標bean)
    <bean id="personService" class="com.lin.personServiceImpl">
        <property name="personDao" ref="personDao"/>
    </bean>
    //配置hibernate的事務管理器,使用HibernateTransactionManager類,該類實現了PlatformTransactionManager接口,針對hibernate 持久化連接的特定實現
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
    //配置personService bean的事務代理
    <bean id="personServiceProxy"
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
                //指定事務管理器
        <property name="transactionManager" ref="transactionManager"/>
                //指定需要生成代理的日標bean
        <property name="persionService" ref="persionService"/>
                //指定事務屬性
        <property name="transactionAttributes"
            <props>
                <prop key="insert*">PROPAGATION_REQUIRED,-MyCheckedException</prop>
                <prop key="update*>PROPAGATION_REQUIRED</prop>
                <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
            </props>
        </property>


    二.使用自動創建代理簡化事務配置
       使用BeanNameAutoProxyCreator 和DefaultAdvisorAutoProxyCreator創建代理時,并不一定是創建事務代理,關鍵在于傳入的攔截器,如果傳入事務攔截器,將可自動生成事務代理.
    //使用jdbc局部事務策略
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    //配置目標bean1,該目標bean將由Bean后處理器自動生成代理
    <bean id="testbean1" class="com.lin.Testbean1Impl">
        <property name="dataSource" ref="dataSource"/>
    </bean
    //配置目標bean2,該目標bean將由Bean后處理器自動生成代理
    <bean id="testbean2" class="com.lin.Testbean2Impl">
        <property name="dataSource" ref="dataSource"/>
    </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="find*">PROPAGATION_REQUIRED,readOnly</prop>
                        <prop key="*">PROPAGATION_REQUIRED</prop>
                </props>
            </property>
        //定義BeanNameAutoProxyCreator的Bean后處理器
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
        <property name="beanNames">
            <list>
                <value>testbean1</value>
                <value>testbean2</value>
            </list>
                //此處可以增加其他需要創建事務代理的bean
        </property>
            //定義BeanNameAutoProxyCreator所需要的攔截器
         <property name="interceptorNames">
            <list>
                <value>transactionInterceptor</value>
                    //此處可以增加其他新的Interceptor
            </list>
        </property>
    </bean>
    posted on 2012-03-04 16:37 abin 閱讀(366) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产自产拍精品视频免费看| 亚洲AV日韩AV一区二区三曲| 日产国产精品亚洲系列| 久久久久高潮毛片免费全部播放 | 国产精品免费一区二区三区| 亚洲国产av美女网站| 久久91亚洲人成电影网站| 四虎国产精品免费久久影院| 成年在线观看网站免费| 伊人久久免费视频| 中文字幕无码一区二区免费| www免费黄色网| 污视频网站免费在线观看| 亚洲av日韩av永久在线观看| 亚洲av日韩av无码av| 亚洲色av性色在线观无码| 亚洲国产国产综合一区首页| 伊人久久大香线蕉亚洲| 4338×亚洲全国最大色成网站| 四虎永久免费地址在线观看| 麻豆国产精品入口免费观看| 成人免费无码视频在线网站| 免费国产作爱视频网站| 亚洲第一网站免费视频| 亚洲香蕉免费有线视频| 蜜桃AV无码免费看永久| 最近2019年免费中文字幕高清| 青青草原1769久久免费播放| 国产成人免费ā片在线观看老同学 | 国产成人亚洲综合在线| 久久久久久久久无码精品亚洲日韩| 亚洲色少妇熟女11p| 亚洲日本VA中文字幕久久道具| 亚洲三级在线观看| 亚洲熟妇自偷自拍另欧美| 亚洲色成人四虎在线观看| 亚洲日韩国产欧美一区二区三区 | 一个人免费日韩不卡视频| 亚欧日韩毛片在线看免费网站| 性色午夜视频免费男人的天堂| 无码囯产精品一区二区免费|