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

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

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

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

    spring-framework-1.2.6-chapter8

    Posted on 2005-12-30 19:49 morcble的blog 閱讀(223) 評論(0)  編輯  收藏 所屬分類: Spring

    8.2. Transaction strategies
    1。使用SPRING平臺事務管理器

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    </bean>
    The PlatformTransactionManager definition will look like this:
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
    </bean>

    使用JTA事務管理器
    If we use JTA, as in the dataAccessContext-jta.xml file from the same sample application, we need to use a
    container DataSource, obtained via JNDI, and a JtaTransactionManager implementation. The
    JtaTransactionManager doesn't need to know about the DataSource, or any other specific resources, as it will
    use the container's global transaction management.

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="jdbc/jpetstore"/>>
    </bean>
    <bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>

    以上兩種方法實現的功能是等效的。

    2。把hibernate和spring結合起來
    <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mappingResources">
           <list>
               <value>org/springframework/samples/petclinic/hibernate/petclinic.hbm.xml</value>
           </list>
        </property>
        <property name="hibernateProperties">
           <props>
               <prop key="hibernate.dialect">${hibernate.dialect}</prop>
           </props>
        </property>
    </bean>
    <bean id="txManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">①(局部事務)
         <property name="sessionFactory" ref="sessionFactory"/>
    </bean>


    ①處With Hibernate and JTA transactions we could simply use the JtaTransactionManager as with JDBC or any
    other resource strategy.
    <bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>(JTA為全局事務)


    聲明式事務管理
    <!-- this example is in verbose form, see note later about concise for multiple proxies! -->
    <!-- the target bean to wrap transactionally -->
    <bean id="petStoreTarget">
     ...
    </bean>
    <bean id="petStore" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
     <property name="transactionManager" ref="txManager"/>
     <property name="target" ref="petStoreTarget"/>
     <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>
    </bean>

    主站蜘蛛池模板: 亚洲AV无码一区二区三区久久精品 | 久久精品无码免费不卡| 久久久久国色AV免费观看性色| 亚洲国产精品无码久久久不卡| 日本黄页网址在线看免费不卡| 久久久www成人免费毛片 | free哆啪啪免费永久| 亚洲日本精品一区二区| 在线观看免费中文视频| 久久久国产精品亚洲一区| 久久久久无码精品亚洲日韩| 中文字幕亚洲码在线| 啦啦啦中文在线观看电视剧免费版| 亚洲福利视频网址| 免费人成网站在线观看10分钟| 亚洲资源最新版在线观看| 永久免费av无码不卡在线观看| 亚洲成a人片在线观看中文!!!| 噼里啪啦免费观看高清动漫4 | 国产免费伦精品一区二区三区| 亚洲欧洲一区二区三区| 99久久免费国产特黄| 久久久久国产精品免费免费搜索| 在线亚洲午夜片AV大片| 国产精品免费看久久久无码| 五月天婷婷免费视频| 亚洲不卡中文字幕无码| 最近在线2018视频免费观看| 亚洲精品无码久久不卡| A级毛片高清免费视频在线播放| 久久综合亚洲色一区二区三区| 综合在线免费视频| 国产区图片区小说区亚洲区| 亚洲性日韩精品国产一区二区| 亚洲人成无码网站在线观看 | 污视频在线免费观看| 亚洲黄片手机免费观看| 免费视频精品一区二区三区| 中中文字幕亚洲无线码| 亚洲精品无码日韩国产不卡?V| 免费A级毛片无码专区|