springboot中用@Transational控制事务的注意事项

本文探讨了在SpringBoot中使用@Transational注解进行事务管理时的注意事项,包括配置方式、动态代理的选择(JDK与CGLIB)、事务传播行为的重要性,以及@Transactional可能失灵的原因,如方法权限、同类内部调用、传播行为设置错误、接口声明、回滚属性和数据库引擎支持等。
摘要由CSDN通过智能技术生成

事务是javaEE开发中一个很重要的概念,他控制了对多表操作的一组事务同时成功或同时失败。关于事务的一些概念与应用,相信已经很清楚了,这里不对事务做过多的介绍,谈一谈关于springboot中事务的使用的一些注意事项。
一、springboot配置事务的方式
简单的来说,springboot中配置事务可以通过@Transational注解的方式和配之类的方式进行全局性的事务配置。都是通过动态代理实现的,被代理前后执行的方式也相同,只是前者是springboot自带的切点拦截,后者自定义的切点拦截
1.@Transational配置事务
这种方法,只需要在你需要事务的位置上方法(或类)上加@Transational注解,并配置相应的属性,包括传播行为,隔离级别,回滚异常等(没有要求用默认的也行)。
2.全局性的事务配置

@Aspect
@Configuration
public class TransactionAdviceConfig {
   

	//配置切面
    private static final String AOP_POINTCUT_EXPRESSION = "execution(* com.xxx.service.*.*(..))";

    @Autowired
    private PlatformTransactionManager transactionManager;

	//注入拦截器
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值