記錄一次項目中遇到的事務不生效問題:
SpringBoot事務配置:
1.啟動類開啟事務注解
@EnableTransactionManagement
2.service 方法加上事務注解
@Transactional只會監聽RuntimeException,
加上rollbackFor = Exception.class,可以根據業務中的異常回滾
@Transactional(rollbackFor = Exception.class)
按上述配置項目后,開發代碼,發現兩張表操作時,第一張表成功了就直接提交了事務,后面第二章表的操作失敗了也沒有回滾數據,仔細檢查service方法,並沒有問題,最后想是不是數據庫哪方便有問題了,結果發現了,數據庫配置如下
@Component //@ConfigurationProperties(prefix = "") @Data public class CppsDataSourceConfig {
試着修改數據庫配置
@Configuration @EnableAutoConfiguration public class CppsDataSourceConfig {
重新啟動項目后,事務生效!