美文网首页
7.20_28期Spring事务角色

7.20_28期Spring事务角色

作者: 萧修 | 来源:发表于2023-07-28 01:00 被阅读0次

事务管理员

事务协调员

本文以下面代码举例

@Service
public class AccountServiceimpl implements AccountService {
    @Autowired
    private AccountDao accountDao;
    public void transfer(String out, String in, Double money) {
        accountDao.outMoney(out,money);
        accountDao.inMoney(in,money);
    }
}

public interface AccountDao {
    @Update("update account set money = money + #{money} where name = #{name}")
    public void inMoney(@Param("name") String name,@Param("money") Double money);

    @Update("update account set money = money - #{money} where name = #{name}")
    public void outMoney(@Param("name")String name,@Param("money") Double money);
}

transfer被调用的时候,接口AccountDao会执行update语句,对数据库进行修改操作,会开启事务

inMoney开启事务1、outMoney开启事务2,这两个事务不同,当某个事务出现出现失败,不会影响其他事务,事务1成功,出现异常,但是不影响事务2的执行,不会出现回滚

使用spring事务之后,会将上述两种事务加入到spring事务,这样出现业务异常时,就可以进行数据回滚

事务管理员:发起事务方,在Spring中通常指代业务层开启事务的方法
事务协调员:加入事务方,在Spring中通常指数据层方法,也可以是业务层方法

里面通过相同dataSource进行事务管理

@Bean
    public PlatformTransactionManager transactionManager (DataSource dataSource){
        DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
        dataSourceTransactionManager.setDataSource(dataSource);
        return dataSourceTransactionManager;
    }

相关文章

  • 关于事务的思考

    Spring对于事务的支持 Spring事务接口 Spring事务管理器 Spring并不直接管理事务,而是提供多...

  • Spring事务

    Spring 事务 分类 Spring可以支持编程式事务和声明式事务。 编程式事务 实现 Spring使用事务管理...

  • Spring中实现事务方式

    Spring 中实现事务的方式 Spring 并不直接支持事务,只有当数据库支持事务时,Spring 才支持事务,...

  • Spring事务的传播特性引发的一场血案

    Spring事务的传播特性是对于Spring事务管理的一项特殊配置;Spring事务基于Spring AOP特性,...

  • Spring 事务实现分析

    1. Spring 事务简介 Spring 本身并不实现事务,Spring事务 的本质 还是 底层数据库 对事务的...

  • spring04

    Spring JdbcTemplate学习 Spring 声明式事务 xml配置实现 Spring 声明式事务 注...

  • 程序员之Spring

    1. Spring事务 spring的事务实现原理Spring事务将connection放入到当前线程的threa...

  • 面前温习

    Spring事务传播特性的浅析——事务方法嵌套调用的迷茫 解惑 spring 嵌套事务

  • 分布式事务(2)Spring事务

    2.1 Spring事务原理 Spring支持编程式事务和声明式事务。编程式事务就是用个事务类Transactio...

  • spring事务的实现原理

    spring实现事务的原理 Spring事务 的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring...

网友评论

      本文标题:7.20_28期Spring事务角色

      本文链接:https://www.haomeiwen.com/subject/npcaudtx.html