Spring事务处理--概念学习

本文深入探讨了Spring框架下的事务管理机制,包括事务的基本概念、ACID特性、编程式与声明式事务管理的区别,并介绍了如何使用Spring AOP进行声明式事务管理。此外,还详细解析了不同的事务传播行为和隔离级别,以及在Spring中使用事务的具体方法。

1 事务处理就是元子化

要么都做,要么都不做,单元化处理

2 四大特性ACID

  • 原子性Atomicity
  • 一致性Consistency
  • 隔离性Isolation
  • 持久性Durability

3 Spring对事务的支持

编程式事务管理(编码式)
即:将事务管理代码嵌入业务方法中来控制事务的提交和回滚
这样,每个业务中都应该有额外的事务处理代码

声明式事务管理
即:以声明的方式来实现事务管理。【本质上就是将上面的代码从业务方法中分离出来,做成配置形式】

大多数情况下,声明式比编码式更方便【特别是对于初学者】
要强调的是:Spring是通过Spring AOP框架支持声明式事务管理的

4 相关的数据库访问技术

**

  • JDBC
  • JPA
  • Hibernate
  • Mybatis

**

5 声明式事务管理

Spring配置文件关于事务配置三个总成
1 DataSource
2 TransactionManager
3 代理机制

6 Spring一般有5种事务配置方式,最常见的就是注解方式

@EnableTransactionManagement开启声明式事务支持
@Transactional用于注解相应的类的方法

7 Spring注解事务行为

当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。
有7种传播行为

  1. Propagation_Required
  2. Propagation_Supports
  3. Propagation_mandatory
  4. propagation_requires_new
  5. propagation_not supported
  6. propagation_never
  7. propagation_nested

8 隔离级别

  • 读脏Dirty Read
  • 不可重复读Nonrepeatable Read
  • 幻读Phantom Read

8.1Spring提供了5种事务的隔离级别

  • Isolation_default
  • isolation_read_uncommited
  • isolation_read_commited
  • isolation_repeatable_read
  • isolation_serializable

9在spring中使用事务的方式

开启事务很简单,只需要一个注解@Transactional就可以了。
Springboot中已经默认对JPA,JDBC,Mybatis开启了事务
引入它们的依赖时,事务就默认开启了。
**

类级别事务 注解加在类上,意味着该类所有方法都启用事务

方法级别事务 注解加在方法上,方法上优于类上

**

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值