Spring事务失效--八大场景

  1. 场景一:数据库不支持事务
    1. --mysql数据库的MyISAM存储引擎不支持
  2. 场景二:事务方法未被Spring管理
    1. 如果事务方法所在的类没有加载到spring IOC容器中,则Spring事务会失效,一般是类上要加上@Service注解
  3. 场景三:方法没有被public修饰
    1. 如果事务所在的方法没有被public修饰,此时Spring的事务会失效
  4. 场景四:同一类中方法调用
    1. 同一类中两个方法有其中一个没标注事务
  5. 场景五:未配置事务管理器
    1. 项目配置类中加上事务
    2. pubilc PlatformTramsactionalmanager transactionalmanager(DataSource dataSource){
      1. return new DataSourceTramsactionalmanager(dataSource);
    3. }
  6. 场景六:方法的事务传播类型不支持事务
    1. 枚举类型NOT_SUPPORTED不支持事务
  7. 场景七:不正确的捕获异常
    1. try catch捕获异常,打印日志
  8. 场景八:错误的标注异常类型
    1. 默认事务异常类型RuntimeException,只有相对应的事务异常才会回滚。

猜你喜欢

转载自blog.csdn.net/weixin_50160384/article/details/132743480