欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot通過aop實現(xiàn)事務控制過程解析

 更新時間:2020年03月09日 11:43:02   作者:程序曉猿  
這篇文章主要介紹了Springboot通過aop實現(xiàn)事務控制過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

spring的事務控制本質(zhì)上是通過aop實現(xiàn)的。

在springboot中使用時,可以通過注解@Transactional進行類或者方法級別的事務控制,也可以自己通過spring提供的事務管理器手動控制事務

一、 @Transactional注解進行進行類或者方法級別的事務控制

不需要進行特別的設(shè)置,按照正常的配置整合spring和mybatis后,在需要進行事務控制的類上或者方法上加上

@Transactional注解,即可對其進行事務控制。

二、手動控制事務

當需要在一個方法的內(nèi)部進行事務控制時,就需要利用spring提供的事務管理器來手動控制。在方法所在的類中注入事務管理器,然后在方法中需要的位置利用事務管理器進行控制:開啟事務,提交事務,回滾事務

  @Autowired
  PlatformTransactionManager platformTransactionManager;
  @Autowired
  TransactionDefinition transactionDefinition;
public void testTransaction() {

    //開啟事務
    TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
    try {
      CategoryInfo categoryInfo1=new CategoryInfo();
      categoryInfo1.setName("分類1");
      categoryDataDao.add(categoryInfo1);
      //模擬發(fā)生異常,事務回滾后應該數(shù)據(jù)庫兩條記錄都沒有
      int i=1/0;
      CategoryInfo categoryInfo2=new CategoryInfo();
      categoryInfo2.setName("分類2");
      categoryDataDao.add(categoryInfo2);
      //提交事務
      platformTransactionManager.commit(transactionStatus);
    } catch (Exception e) {
      logger.error("發(fā)生異常事務回滾");
      platformTransactionManager.rollback(transactionStatus);
    }
  }

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中使用session監(jiān)聽實現(xiàn)同帳號登錄限制、登錄人數(shù)限制

    java中使用session監(jiān)聽實現(xiàn)同帳號登錄限制、登錄人數(shù)限制

    本文主要介紹了java中使用session監(jiān)聽實現(xiàn)同帳號登錄限制、登錄人數(shù)限制,通過session來監(jiān)聽在線人數(shù)和登陸限制,有需要的童鞋可以了解一下。
    2016-10-10
  • java小知識之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息

    java小知識之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息

    這篇文章主要給大家介紹了關(guān)于java小知識之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-10-10
  • java虛擬機學習高級篇

    java虛擬機學習高級篇

    在本篇文章里小編給大家整理了關(guān)于java虛擬機學習高級篇的相關(guān)內(nèi)容,有興趣的朋友們跟著學習參考下。
    2019-06-06
  • 徹底搞懂Java多線程(四)

    徹底搞懂Java多線程(四)

    這篇文章主要給大家介紹了關(guān)于Java面試題之多線程和高并發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2021-07-07
  • Java數(shù)據(jù)結(jié)構(gòu)之ArrayList從順序表到實現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之ArrayList從順序表到實現(xiàn)

    Java中的ArrayList是一種基于數(shù)組實現(xiàn)的數(shù)據(jù)結(jié)構(gòu),支持動態(tài)擴容和隨機訪問元素,可用于實現(xiàn)順序表等數(shù)據(jù)結(jié)構(gòu)。ArrayList在內(nèi)存中連續(xù)存儲元素,支持快速的隨機訪問和遍歷。通過學習ArrayList的實現(xiàn)原理和使用方法,可以更好地掌握Java中的數(shù)據(jù)結(jié)構(gòu)和算法
    2023-04-04
  • 如何查看Linux上正在運行的所有Java程序列表

    如何查看Linux上正在運行的所有Java程序列表

    在linux操作時,經(jīng)常要查看運行的項目的進程和端口,下面這篇文章主要給大家介紹了關(guān)于如何查看Linux上正在運行的所有Java程序列表的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • SpringBoot搭建全局異常攔截

    SpringBoot搭建全局異常攔截

    這篇文章主要介紹了SpringBoot搭建全局異常攔截,本文通過詳細的介紹與代碼的展示,詳細的說明了如何搭建該項目,包括創(chuàng)建,啟動和測試步驟,需要的朋友可以參考下
    2021-06-06
  • 使用Java的方式模擬Flutter的Widget實現(xiàn)多層括號嵌套

    使用Java的方式模擬Flutter的Widget實現(xiàn)多層括號嵌套

    這篇文章主要介紹了使用Java的方式模擬Flutter的Widget的實現(xiàn)多層括號嵌套問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Json字符串與Object、List、Map的互轉(zhuǎn)工具類

    Json字符串與Object、List、Map的互轉(zhuǎn)工具類

    今天小編就為大家分享一篇關(guān)于Json字符串與Object、List、Map的互轉(zhuǎn)工具類,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Servlet文件的上傳與下載詳解

    Servlet文件的上傳與下載詳解

    很多朋友不清楚在Servlet中怎么上傳下載文件,談到這個問題,首先需要我們掌握開發(fā)servlet的步驟,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-06-06

最新評論