阅读本文前,建议先阅读Spring之基于注解的声明式事务15.1、环境搭建
创建名为spring_transaction_xml的新module,过程参考13.1节15.1.1、配置打包方式和依赖
注意:比起基于注解的声明式事务,基于xml的声明式事务还需要额外引入spring-AOP的依赖
注意:因为控制层没用到接口,所以方法的访问修饰符要手动设置
注意:tx:advice标签导入的名称空间需要 tx 结尾的那个
注意:不使用tx:method标签指定的方法是不会使用事务的,为了让切入点表达式的所有方法都使用到事务,可以使用*通配符:
模拟场景:
此时id为1的图书库存为100
此时id为1的用户余额为5015.3.3、执行时的异常
由于使用了Spring的声明式事务,更新(图书)库存和更新(用户)余额,要么都成功,要么都失败;
本例属于都失败,所以(图书)库存和(用户)余额都没有变化
事务属性的详细作用,请参考14.5节
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |