spring事务

spring事务

spring中管理事务的是事务管理器和他的实现类

spring事务是一个统一的模型

​ 1.指定要使用的事务管理器的实现类bean

​ 2.指定哪些类 哪些方法需要加入事务的功能

​ 3.指定方法需要的隔离级别 传播行为 超时

告诉spring 你的项目中类的信息 方法的名称 方法的事务传播行为

事务隔离级别:
四个 默认是REPEATABLE_READ(mysql)

READ_UNCOMMITTED读未提交 未解决任何并发问题
READ_COMMITTED读已提交 解决脏读 存在不可重复度和幻读
REPEATABLE_READ可重复读 解决脏读 不可重复度 存在幻读
SERIALIZABLE串行化 不存在并发问题

传播行为:控制业务方法是不是有事务 有什么样的事务

一共七个 表示你的业务方法调用时 事务的方法之间是如何使用的

​ PROPAGATION_REQUIRED
​ PROPAGATION_REQUIRED_NEW
​ PROPAGATION_SUPPORTS
​ 这三个需要用
​ PROPAGATION_MANDATORY
​ PROPAGATION_NESTED
​ PROPAGATION_NEVER
​ PROPAGATION_NOT_SUPPORTED
​ 这四个基本不用

事务提交和回滚时机:

1.成功就执行完毕 没有抛出异常 spring在方法执行后提交事务 调用事务管理器用的是commit

2.如果失败了 就回滚 抛出异常或者error 调用事务管理器的事rollback

3.当你的业务方法抛出了非运行异常 主要是受查异常时 提交事务

​ 受查异常:在你编写代码时 必须处理的异常

​ 默认受到受查异常时候 是提交事务的 但是也可以自己设置异常回滚

spring框架中提供的事务处理方法:

​ 1.适合中小型项目使用 注解方案:

​ spring框架自己用aop实现给业务增加事务功能 使用@Transactional注解增加事务 这是spring自己的注解 方法public上面 表示当前方法具有事务 可以给注解属性赋值 设置隔离级别 传播行为 异常信息

使用步骤:声明事务管理器对象

2.开启事务注解驱动 告诉框架 我即将使用事务

3.在你方法上增加@Transactional

​ 2.适合大型项目的事务 有很多类 方法

1.使用aspectj框架 加入依赖

2.声明事务处理器对象

3.声明方法需要的事务类型【配置方法的事务属性(隔离级别 传播行为)】

4.配置aop 执行哪些类要创建代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值