Spring事务是如何管理的

2025-04-22 22:55:27

1、Spring事务管理主要包括3个接口,Spring的事务主要是由他们三个共同完成的,其中的PlatformTransactionManager是Spring事务管理的核心接口!这三个事务管理器接口是根据指定的传播行为,返回当前活动的事务,或者创建一个新的事务,参数的类定义一些基本的事务属性。

Spring事务是如何管理的

2、第一个接口是PlatformTransactionManager,是Spring事务管理的核心接口。主要功能是事务管理器,是用于平台相关事务的管理,包括commit 事务的提交;rollback 事务的回滚;getTransaction 事务状态的获取三种方法。

Spring事务是如何管理的

3、第二个接口是TransactionDefinition,主要功能是事务定义信息,是用来定义糙怍牢莱事务相关的属性,给事务管理器PlatformTransactionManager使用的。而且在皈其拄攥TransactionDefinition接口中定义了它自己的传播行为和隔离级别。包括getIsolationLevel:获取隔离级别;getPropagationBehavior:获取传播行为;getTimeout:获取超时时间;isReadOnly:是否只读 四种方法。

Spring事务是如何管理的

4、第三个接口是TransactionStatus,主要功能是事务具体运行状态,是事务管理过程中,每个时间点事务的状态信息,它可以封装许多代码,节省我们的工作量。包括hasSavepoint(像粜杵泳):返回这个事务内部是否包含一个保存点;isCompleted():返回该事务是否已完成,也就是说,是否已经提交或回滚;isNewTransaction():判断当前事务是否是一个新事务 这三种方法。

Spring事务是如何管理的

5、看完以上的三个接口,那么你知道Spring是如何配置事务管理器的吗?编程式事务管理:通过PlatformTransactionManager实现来进行事务管理。

Spring事务是如何管理的

6、声明式事务管理:基于tx和aop命名空间的xml配置文件。

Spring事务是如何管理的

7、声明式事务管理:基于@Transactional注解。

Spring事务是如何管理的
Spring事务是如何管理的

8、在Spring配置文件中定义事务管理器,如下图所示:

Spring事务是如何管理的
Spring事务是如何管理的
Spring事务是如何管理的
Spring事务是如何管理的
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢