Spring事务处理--概念学习

版权声明:本文为博主原创文章,经博主允许,可自由共享,尽量不要用于商业用途。 https://blog.csdn.net/matrixbbs/article/details/88946499

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开启了事务
引入它们的依赖时,事务就默认开启了。
**

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

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

**

猜你喜欢

转载自blog.csdn.net/matrixbbs/article/details/88946499