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

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

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

    ann
    冰是沒(méi)有未來(lái)的,因?yàn)樗挠篮?/span>
    posts - 107,comments - 34,trackbacks - 0
       
        傳統(tǒng)上, J2EE開發(fā)者有兩種事務(wù)管理選擇,全局和本地事務(wù)。Spring框架對(duì)事務(wù)管理的支持極大地改變傳統(tǒng)上認(rèn)為J2EE應(yīng)用需要應(yīng)用服務(wù)器。這種改變不單是僅僅為了通過(guò)EJB來(lái)使用生命式事務(wù)而使用應(yīng)用服務(wù)器。事實(shí)上,即使你的應(yīng)用服務(wù)器有強(qiáng)大的JTA功能,Spring框架的聲明式事務(wù)提供了比EJB CMT(聲明式事務(wù))更強(qiáng)大,更高效的編程模型。一般來(lái)說(shuō),只有支持多個(gè)事務(wù)資源,才會(huì)需要應(yīng)用服務(wù)器的JTA功能,而大多數(shù)應(yīng)用不需要能夠處理跨多種資源。最重要的一點(diǎn),使用Spring,你可以選擇何時(shí)把你的應(yīng)用遷移到全功能的應(yīng)用服務(wù)器。使用Spring不需要像以前一樣用編碼實(shí)現(xiàn)本地事務(wù)代替EJB CMT或JTA,現(xiàn)在只需要改配置問(wèn)價(jià),而不必改代碼。

    一. Spring事務(wù)管理

      1. Spring 編程式事務(wù)管理(programmatic transaction management)
         
       DefaultTransactionDefinition def = new DefaultTransactionDefinition(); 
    TransactionStatus status = transactionManager.getTransaction(def);
    try {
    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    jdbcTemplate.update("INSERT INTO USER VALUES('Spring008', 'caterpillar', 'M', 29)");
    jdbcTemplate.update("INSERT INTO USER VALUES('Spring009', 'momor', 'F', 26)");
    jdbcTemplate.update("INSERT INTO USER VALUES('Spring010, 'beckyday', 'F', 35)");
    } catch (DataAccessException ex) {
    transactionManager.rollback(status); // 也可以執(zhí)行status.setRollbackOnly();
    throw ex; 
        }
    transactionManager.commit(status);
    見:http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2398

      2. Spring宣告式事務(wù)管理(declarative transaction management)主要是在spring的配置文件中設(shè)置
        <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> 
    <property name="transactionManager"> <ref bean="transactionManager"/> </property> <property name="target">
    <ref bean="userDAO"/>
    </property>
    <property name="transactionAttributes">
    <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
    </bean>
    見:http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2402
    二. Spring的@Transcation的例子
    1. class 中
    @Component //注釋就可以將該類定義了 Spring 容器中的 Bean
    public Class UserDaoImpl implements IUserDao {
    @Override
    //標(biāo)志updateUsers()為Transactional
    @Transactional(
    propagation = Propagation.REQUIRED,
    isolation = Isolation.DEFAULT,
    rollbackFor = Exception.class
    ) public void updateUsers(List<User> users){
    for(User user :users){
    //邏輯
    }
    }
    }
    注意: 事務(wù)的屬性和基本概念
    Required : 如果在一個(gè)事務(wù)中調(diào)用,就將該方法加到此事務(wù)中,如果沒(méi)有啟動(dòng)事務(wù),就創(chuàng)建新事務(wù)
    RequiredNew : 不管當(dāng)前有沒(méi)有事務(wù),都啟動(dòng)新事務(wù),如果有,會(huì)被掛起,直到此方法結(jié)束
    NotSupported : 不能在事務(wù)中執(zhí)行此方法,如果有事務(wù),會(huì)被掛起,直到此方法結(jié)束
    Supports : 如果有當(dāng)前事務(wù),此方法回加到當(dāng)前事務(wù),如果沒(méi)有,容器不會(huì)啟動(dòng)新事務(wù)
    Mandatory : 必須在事務(wù)中執(zhí)行此方法,否則會(huì)拋出異常 : TransactionRequiredException
    Never : 必須不在事務(wù)中調(diào)用此方法,否則拋出RemoteException(遠(yuǎn)程調(diào)用)或EJBException(本地調(diào)用)
            2.spring配置文件加入:
               .....................
                <tx:annotation-driven/>
              .....................

          注意: webSerivces 是不支持事務(wù)的,如果使用事務(wù),必須在下層的Object中實(shí)現(xiàn),例如在Service層或者是Dao層實(shí)現(xiàn)。
    另外: 
    http://www.ibm.com/developerworks/cn/java/j-ts1.html
    http://www.javaworld.com.tw/confluence/display/opensrc/Spring
    http://www.redsaga.com/spring_ref/2.0/html/transaction.html#transaction-declarative

    當(dāng)下,把心放下 放下如果是可能的,那一定是在當(dāng)下,
    不在過(guò)去,也不在未來(lái)。
    當(dāng)下放下。唯有活在當(dāng)下,你的問(wèn)題才能放下。

    主站蜘蛛池模板: 污网站在线观看免费| 国产精品亚洲色婷婷99久久精品| 三级黄色片免费看| 亚洲一区二区三区无码影院| 国产在亚洲线视频观看| 免费一看一级毛片全播放| 国产精品亚洲专区无码不卡| 亚洲Av无码国产情品久久| 污网站免费在线观看| 久久久久亚洲?V成人无码| 中文字幕手机在线免费看电影 | 久久免费公开视频| 久久亚洲熟女cc98cm| 香蕉97超级碰碰碰免费公| 亚洲中文字幕无码久久| 日韩免费电影在线观看| 麻豆安全免费网址入口| 久久久久亚洲av毛片大| 99爱在线观看免费完整版| 456亚洲人成影院在线观| 成人毛片18女人毛片免费视频未| 爱爱帝国亚洲一区二区三区| 国产精品亚洲玖玖玖在线观看| 在线观看黄片免费入口不卡| 亚洲永久中文字幕在线| 色吊丝最新永久免费观看网站| 一级黄色免费大片| 亚洲图片一区二区| 黄网址在线永久免费观看| 中文字幕视频免费在线观看| 亚洲Av无码一区二区二三区| 国产jizzjizz免费视频| 久久国产精品免费看| 亚洲Av永久无码精品一区二区| 国产亚洲情侣一区二区无| 最新黄色免费网站| 中美日韩在线网免费毛片视频| 久久夜色精品国产噜噜亚洲AV| 国产最新凸凹视频免费| 暖暖免费日本在线中文| 国产亚洲精品AAAA片APP|