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

    主站蜘蛛池模板: **aaaaa毛片免费同男同女| 国产一级高清视频免费看| 亚洲va久久久久| 亚洲不卡无码av中文字幕| 爽爽爽爽爽爽爽成人免费观看| 夜色阁亚洲一区二区三区| 国产性生大片免费观看性| 亚洲第一页在线观看| 国产又黄又爽又刺激的免费网址 | 永久免费看mv网站入口| 一个人看的www视频免费在线观看| 亚洲无人区一区二区三区| 亚洲性线免费观看视频成熟| 免费人成网上在线观看| 久久精品国产亚洲AV大全| 免费人成视频在线观看视频| 91青青青国产在观免费影视| 国产成人综合久久精品亚洲| 亚洲国产综合专区电影在线 | 国产成人涩涩涩视频在线观看免费| 猫咪免费人成网站在线观看入口| 亚洲大成色www永久网站| 午夜一级免费视频| 精品国产污污免费网站| 亚洲人成网亚洲欧洲无码| 国产亚洲精品国产| 日本免费电影一区| 99精品视频免费观看| free哆拍拍免费永久视频 | 中文字幕在线成人免费看| 亚洲人成网站在线在线观看| 麻豆亚洲AV永久无码精品久久| 国内大片在线免费看| 99精品视频免费观看| 中文字幕免费观看视频| 亚洲成a∨人片在无码2023| 亚洲精品美女久久久久9999| 国产∨亚洲V天堂无码久久久| 国产一区二区三区在线观看免费| 久久永久免费人妻精品| 亚美影视免费在线观看|