spring annotation(事务)使用注意事项

spring事务管理可以给我们提供便捷的事务管理,但在使用中需要注意事务不生效的问题。

第一中情况:数据库不支持事务

第二种情况:使用@Transaction注解事务的方法不是public

第三种情况:未抛出异常,异常被捕获了

第四种情况:类中的非事务方法调用了事务方法(Spring事务是通过AOP实现的,类中的非事务方法调用的事务方法时,被调用的方法是类中的方法,不是被代理后的方法,事务没有生效,如果想要实现非事务方法调用事务方法,分别写在不同的类中)

第五种情况:多数据配置导致事务不生效,1.分别配置数据源时,配置事务时需要指定各自对应的事务;2.动态数据源的事务是默认数据源的事务,无法切换,使用时需要注意。

 

多数据事务管理:分布式事务(推荐)或分别配置数据源自己控制

你可能感兴趣的:(spring annotation(事务)使用注意事项)