<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 閱讀(217) 評論(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>

    主站蜘蛛池模板: 182tv免费观看在线视频| 免费观看AV片在线播放| 国产又大又长又粗又硬的免费视频| 亚洲黄色免费网站| 99久久国产免费-99久久国产免费| 亚洲av午夜福利精品一区| 久久免费公开视频| 久久亚洲精品无码AV红樱桃| 8x8×在线永久免费视频| 亚洲最大的视频网站| 免费下载成人电影| 亚洲愉拍一区二区三区| 日韩高清免费在线观看| 美女羞羞免费视频网站| 国产精品亚洲二区在线观看 | 久久夜色精品国产亚洲av| 国产精品青草视频免费播放| 亚洲色自偷自拍另类小说| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 亚洲av午夜国产精品无码中文字 | 亚洲国产精品VA在线观看麻豆| 日本一卡精品视频免费| 精品亚洲AV无码一区二区| 国产大片51精品免费观看| 精品国产污污免费网站入口在线| 亚洲Av无码专区国产乱码DVD | 久久亚洲国产午夜精品理论片| 18禁超污无遮挡无码免费网站| 亚洲综合在线成人一区| 国产成人无码免费视频97| 搡女人免费免费视频观看| 亚洲youjizz| 亚洲人成网亚洲欧洲无码久久| 88xx成人永久免费观看| 国产精品久久久久久亚洲影视| 亚洲自偷自偷偷色无码中文| 国产成人福利免费视频| 丰满少妇作爱视频免费观看| 亚洲日产2021三区| 亚洲午夜福利精品无码| 午夜宅男在线永久免费观看网|