Spring事务详解

Spring事务执行步骤:

  1. 判断当前执行的方法是否存在@Transactional注解;
  2. 如果存在,则利用事务管理器(TransactionMananger)新建一个数据库连接;
  3. 修改数据库连接的autocommit为false;
  4. 执行target.test(),执行程序员所写的业务逻辑代码,也就是执行sql;
  5. 执行完了之后如果没有出现异常,则提交,否则回滚。

Spring事务是否会失效的判断标准:

某个加了@Transactional注解的方法被调用时,要判断到底是不是直接通过【代理对象】调用的,如果是则事务会生效,如果不是则失效;

使用技巧:

若加了@Transactional注解的方法再调用加了@Transactional注解的方法时,可在类内注入本类的实例(spring会解决循环注入问题),通过注入的实例调用目标方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值