成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

spring事務(wù)增強(qiáng),事務(wù)回滾如何判斷?希望在前端上有個(gè)提示

geekidentity / 1026人閱讀

摘要:中人為的創(chuàng)建出一個(gè)異常,測(cè)試回滾在中可以被判斷。手工拋出,作用有兩個(gè),使用事務(wù)增強(qiáng),對(duì)事務(wù)回滾。中可以捕獲該異常,并處理,例在前端顯示提示信息。例子結(jié)果說明事務(wù)增強(qiáng)可以通過進(jìn)行事務(wù)增強(qiáng)。事務(wù)發(fā)生回滾時(shí),可以判斷事務(wù)發(fā)生了回滾,并處理。

1 主要處理思路 1.1 思路1

事物回滾,一般拋異常,可以自己手寫一個(gè)異常,根據(jù)異常判斷。事物還是按照 spring 的之前的邏輯。只是,手工拋特定的異常。這樣你就可以捕獲這個(gè)異常給前臺(tái)用戶。

1.2 思路2

方法捕獲異常拋出即可,記得方法定義必須拋出異常,否則框架捕獲不到,聲明式事物不起作用。

1.3 總結(jié)

我認(rèn)為上述思路在實(shí)現(xiàn)上是統(tǒng)一的。下面給出一個(gè)用偽代碼描述的例子。

MyException:
public class MyException extends RuntimeException { 
    public MyException(){
    }
}

Action中:
@Autowired
public class XAction {
    @Autowired
    private XServicexService xService;
    
    public String AddXmethod(){
        try {
            xService.addX (x); //將x存入數(shù)據(jù)庫(kù)
        } catch (MyException e) {
            System.out.println("service層出異常了....");
            //其它處理,例:加上需要在前端顯示的提示信息。
        }    
    }
}

xService中:
@Service
@Transactional(propagation=org.springframework.transaction.annotation.Propagation.REQUIRED)
public class XService{

    @Autowired
    private XDao xDao;
    
    public void addX (X x) throws MyException {
    
        xDao.addX(x);
        
        //人為的創(chuàng)建出一個(gè)異常,測(cè)試回滾在action中可以被判斷。
        try {
            int a =10/0; 
        } catch (Exceptione) {
       
            //手工拋出,作用有兩個(gè),
            //1、使用spring事務(wù)增強(qiáng),對(duì)事務(wù)回滾。
            //2、action中可以捕獲該異常,并處理,例:在前端顯示提示信息。
            throw new MyException();
        }
    }
}

例子結(jié)果說明:
1、事務(wù)增強(qiáng)可以通過SpringAOP進(jìn)行事務(wù)增強(qiáng)。
2、事務(wù)發(fā)生回滾時(shí),Action可以“判斷”事務(wù)發(fā)生了回滾,并處理。

2 參考文獻(xiàn)

http://www.jb51.net/article/3... (Spring事務(wù)管理只對(duì)出現(xiàn)運(yùn)行期異常進(jìn)行回滾改變默認(rèn)方式)
http://www.cnblogs.com/0201zc...(spring 事務(wù)回滾)
http://blog.csdn.net/gaowenmi... (spring AOP的異常攔截)
http://www.cnblogs.com/zhuawa... (關(guān)于Spring事務(wù)回滾的問題)
https://www.oschina.net/quest... (spring的事務(wù)insert操作怎么判斷是否執(zhí)行成功了還是回滾了)
濟(jì)南java技術(shù)交流群群主隱士的思路與百度用戶mahl8007的思路。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71590.html

相關(guān)文章

  • 面試分享:最全Spring事務(wù)面試考點(diǎn)整理

    摘要:和事務(wù)的關(guān)系關(guān)系型數(shù)據(jù)庫(kù)某些消息隊(duì)列等產(chǎn)品或中間件稱為事務(wù)性資源,因?yàn)樗鼈儽旧碇С质聞?wù),也能夠處理事務(wù)。事務(wù)的傳播特性,,,,,,強(qiáng)制要求要有一個(gè)物理事務(wù)。外圍事務(wù)不會(huì)被內(nèi)部事務(wù)的回滾狀態(tài)影響。不支持當(dāng)前事務(wù)。 Spring和事務(wù)的關(guān)系 關(guān)系型數(shù)據(jù)庫(kù)、某些消息隊(duì)列等產(chǎn)品或中間件稱為事務(wù)性資源,因?yàn)樗鼈儽旧碇С质聞?wù),也能夠處理事務(wù)。 Spring很顯然不是事務(wù)性資源,但是它可...

    graf 評(píng)論0 收藏0
  • Spring源碼分析:聲明式事務(wù)梳理

    摘要:使用注解方式簡(jiǎn)單模擬事務(wù)樣例說明數(shù)據(jù)源采用采用持久化采用事務(wù)注解環(huán)境搭建依賴提供的模塊鏈接驅(qū)動(dòng)包配置類聲明式事務(wù)配置類,其中一定要開啟。 使用注解方式簡(jiǎn)單模擬事務(wù) 樣例 說明 數(shù)據(jù)源采用c3p0 采用JdbcTemplate持久化 采用Spring事務(wù)注解 環(huán)境搭建 POM依賴 c3p0 c3p0 0.9.1.2 org.springfram...

    liaosilzu2007 評(píng)論0 收藏0
  • Spring事務(wù)管理

    摘要:事務(wù)的傳播行為當(dāng)事務(wù)方法被另一個(gè)事務(wù)方法調(diào)用時(shí),必須指定事務(wù)應(yīng)該如何傳播。事務(wù)配置配置文件中關(guān)于事務(wù)配置總是由三個(gè)組成部分,分別是和代理機(jī)制這三部分,無(wú)論哪種配置方式,一般變化的只是代理機(jī)制這部分。 數(shù)據(jù)庫(kù)事務(wù)的隔離級(jí)別 數(shù)據(jù)庫(kù)事務(wù)的隔離級(jí)別有4個(gè),由低到高依次為Read uncommitted 、Read committed 、Repeatable read 、Serializabl...

    TalkingData 評(píng)論0 收藏0
  • Spring事務(wù)傳播行為詳解

    摘要:前言在接口中規(guī)定了種類型的事務(wù)傳播行為。事務(wù)傳播行為是框架獨(dú)有的事務(wù)增強(qiáng)特性,他不屬于的事務(wù)實(shí)際提供方數(shù)據(jù)庫(kù)行為。本文對(duì)七種事務(wù)傳播行為做詳細(xì)介紹,內(nèi)容主要代碼示例的方式呈現(xiàn)。 前言 Spring在TransactionDefinition接口中規(guī)定了7種類型的事務(wù)傳播行為。事務(wù)傳播行為是Spring框架獨(dú)有的事務(wù)增強(qiáng)特性,他不屬于的事務(wù)實(shí)際提供方數(shù)據(jù)庫(kù)行為。這是Spring為我們提供...

    cpupro 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<