您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關springboot項目中怎么驗證事務標簽,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
springboot項目中配置事務,以前通過標簽用過,上個內部項目,因為是在別人代碼中使用了,發現好像沒起作用(然后因為有框架保證,就沒計較了),新啟動項目又用到,驗證了下,springboot項目下配置兩個標簽就可以了。
(1)其實就兩個標簽,一個用到啟動類中(@EnableTransactionManagement),另一個就是那里需要就配置到哪里(@Transactional);
(2)方案,就隨便找了個以前的測試項目,一個方法中包含:保存一條數據到數據庫中和一個1除以0代碼,然后看下加不加事務標簽有什么區別;
(1)controller類
@ResponseBody @GetMapping("/tstest") public String tstest() { this.userService.tstest(); return "SUCCESS"; }
(2)service類
public void tstest() { //保存 UserEntity userEntity = new UserEntity(); userEntity.setType(0); userEntity.setOpenid("1111"); insert(userEntity); //報錯,回滾 int i = 1/0; System.out.println(i); }
不加事務標簽,代碼如上。
(1)先清空數據庫;
(2)執行tstest請求;
發現insert代碼行執行完,數據就存到數據庫中了。
接著執行完成(1/0),雖然報錯代碼報錯,但是數據庫中數據還是存在的,數據沒有回滾,沒有保持一致性。
(1)增加兩個標簽,一個是啟動類方法上,一個是tstest方法上。
(2)首先清除數據,執行到insert處
發現雖然insert代碼行執行完成了,但是這時候數據庫中并沒有數據,然后執行完,代碼報錯,數據回滾,數據庫中并沒有存入數據,說明事務起到到該有的作用,數據回滾了。
以上就是springboot項目中怎么驗證事務標簽,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。