Spring学习记录

事务理论

事务-理论知识

Spring事务

Spring的事务机制,是采用统一的机制处理来自不同数据访问技术的事务处理,提供了一个接口 PlatformTransactionManager,

已经为不同数据访问技术可以进行不同的实现,如下。

数据访问技术及实现

JDBC:DataSourceTransactionManager

JPA:JpaTransactionManager

Hibernate:HibernateTransactionManager

JDO:JdoTransactionManager

分布式事务:JtaTransactionManager

缩写解释:

JPA (Java Persistence API)Java持久化API

JTA(java Transaction API)Java 事务API

声明式事务

声明式事务管理建立在AOP之上,其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,执行完目标方法之后根据执行的情况提交或者回滚。

基于@Transactional注解的方式

注:

(1)@Transactional是来自org.springframework.transaction.annotation包的。

(2)@Transactional不仅可以注解在方法上,也可以注解在类上。当注解在类上时,意味着此类的所有public方法都是开启事务的。

如果类级别和方法级别同时使用了@Transactional注解,则使用在类级别的注解会重载方法级别的注解。

编程式事务

编程式事务管理是侵入性事务管理,使用TransactionTemplate或者直接使用PlatformTransactionManager,对于编程式事务管理,Spring推荐使用TransactionTemplate。

事务的传播机制

事务的隔离级别

参考资料:

【SpringBoot系列】八、SpringBoot 中的事务处理

Spring Boot中的事务是如何实现的

一文详解 SpringBoot 多数据源中的分布式事务

 有关Spring事务,看这一篇就足够了

Spring事务管理之几种方式实现事务

spring事物(一),@EnableTransactionManagement @Transactional 启动解析

原文地址:https://www.cnblogs.com/wangwangfei/p/13170479.html