家装设计师网站上海网站哪个比较好
2026/5/18 18:38:53 网站建设 项目流程
家装设计师网站,上海网站哪个比较好,刷赞网站推广免费软件,宽带营销案例100例Spring事务事务作用: 在数据层保障一系列的数据库操作同成功同失败Spring事务作用: 在数据层或业务层保障一系列的数据库操作同成功同失败Spring事务依赖 PlatformTransactionManager 接口DataSourceTransactionManager对象 是 PlatformTransactionManager的具体实现入门案例模…Spring事务事务作用: 在数据层保障一系列的数据库操作同成功同失败Spring事务作用: 在数据层或业务层保障一系列的数据库操作同成功同失败Spring事务依赖 PlatformTransactionManager 接口DataSourceTransactionManager对象 是 PlatformTransactionManager的具体实现入门案例模拟银行账户间转账业务需求: 实现任意两个账户间转账操作需求微缩: A账户减钱B账户加钱分析数据层提供基础操作指定账户减钱(outMoney)指定账户加钱(inMoney )业务层提供转账操作(transfer)调用减钱与加钱的操作提供2个账号和操作金额执行转账操作基于Spring整合MyBatis环境搭建上述操作问题分析程序正常执行时账户金额A减B加没有问题程序出现异常后转账失败但是异常之前操作成功, 异常之后操作失败整体业务出现问题通过Spring事务管理解决问题在业务层接口上添加Spring事务管理Spring注解式事务通常添加在业务层接口中而不会添加到业务层实现类中降低耦合注解式事务可以添加到业务方法上表示当前方法开启事务也可以添加到接口上表示当前接口所有方法开启事务设置事务管理器事务管理器要根据实现技术进行选择MyBatis框架使用的是JDBC事务开启注解式事务驱动事务角色理解Spring处理事务的原理没有开启Spring事务, Dao层的事务是独立的, 程序出现异常后, 业务整体就出现了数据不一致的情况开启Spring事务后, Dao层的事务会加入Spring事务, 由Spring同一管理, 异常后就能同一回滚, 保持数据一致事务角色: Spring事务被称为事务管理管, 其他事务称为事务协调员事务管理员: 发起事务方在Spring中通常指代业务层开启事务的方法事务协调员: 加入事务方在Spring中通常指代数据层方法也可以是业务层方法Spring为什么可以管理数据层的事务?因为 注册Spring事务管理器 和 创建Mybatis数据连接 使用的是同一个dataSource(数据源对象)事务配置Spring的事务可以进行精细化的配置public interface AccountService { // readOnly默认值是false, 是读写事务 Transactional(readOnlytrue,timeout-1) public void transfer(String out,String in ,Double money)throws IoException; }/** rollbackFor: 设置事务的回滚异常 程序中出现异常, 以下两种异常可以触发事务回滚: 1. Error系列, 比如内存溢出 2. 运行时异常, 比如 xxxException 其他的异常类型不会触发事务的回滚 恰巧io exception不属于运行时异常, 所以默认不触发事务 如果需要的话, 就自己配置一下 */ public interface AccountService { Transactional(rollbackFor {IOException.class}) public void transfer(String out,String in ,Double money)throws IoException; }事务传播行为转账业务追加日志需求: 实现任意两个账户间转账操作并对每次转账操作在数据库进行留痕需求微缩: A账户减钱B账户加钱数据库记录日志分析基于转账操作案例添加日志模块实现数据库中记录日志业务层转账操作(transfer)调用减钱、加钱与记录日志功能实现效果预期无论转账操作是否成功均进行转账操作的日志留痕存在的问题日志的记录与转账操作隶属同一个事务同成功同失败实现效果预期改进无论转账操作是否成功日志必须保留事务传播行为: 事务协调员对事务管理员所携带事务的处理态度在业务层接口上添加Spring事务设置事务传播行为REQUIRES_NEW (需要新事务)其他的可选值

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询