天天看點

spring事務心得積累

一、使用事務

1、spring配置檔案中開啟事務注解機制

2、在方法上使用@Transactional注解來使用事務

二、使用事務注意事項

1、隻能在一個類中調用另一個類中的事務方法。

2、事務預設對RunTimeException進行復原,用rollbackfor=Exception.class可指定對所有異常復原。

3、事務中的資料庫操作在事務結束前是送出到緩存中,等事務結束後才會将所有的操作從緩存中commit到資料庫中。

是以事務中,有的Exception會被事務中的try catch到,有的不會被catch到,因為送出的緩存中的操作有的可以預知到異常,而有的不會預知到異常,不會被預知到的異常就不會被抛出被事務中的try catch到,隻有當事務結束所有操作從緩存中commit才會抛出不被預知的異常。

為了catch到那些事務中不被預知到的異常,需要在事務外try catch,将調用事務的方法try。