Spring中怎么管理事务


今天小编给大家分享一下Spring中怎么管理事务的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一个数据库事务是一个被视为一个工作单元的逻辑上的一组操作,这些操作要么全部执行,要么全部不执行。需要注意的是,并不是所有的数据库(引擎)都支持事务,比如说MySQL的MyISAM存储引擎原子性:事务是一个原子性操作,一个事务由一系列操作组成,这一系列操作要么全部执行完成,要么全部不执行一致性:一个事务执行完成(不管成功还是失败),数据库的完整性不能被破坏(唯一约束,外键约束等)隔离性:数据库允许多个并发事务同时对数据进行读写操作,隔离性可以防止这些操作同时执行时导致的数据不一致的问题。事务分为不同的隔离级别:读未提交(read uncommitted)、读已提交(read committed)、可重复读(repeatable read)和串行化(Serializable)持久性:持久性意味着事务完成之后,该事物对数据的更改会永久的保存在数据库中。Spring支持编程式事务管理和声明式事务管理两种类型的事务管理。编程式事务管理比较灵活,但是很难维护,平时用的很少。声明式事务管理易用性更高,侵入性、耦合度低,更推荐使用。使用TransactionTemplate进行编程式事务管理使用PlatformTransactionManager进行编程式事务管理Spring主要通过两种方式实现声明式事务管理:基于注解的声明式事务管理基于XML的声明式事务管理注解的事务管理主要靠@Tr免费云主机域名ansactional注解来实现的。@Transactional注解可以作用于类或方法上,作用于类上时,该类的所有public方法都具有该事物属性@Transactional注解只应该被应用到public修饰的方法上,这是有Spring AOP的本质决定的@Transactional注解Spring对事务的操作主要通过PlatformTransactionManager接口,通过这个接口,Spring为各大平台提供了对应的事务管理器,如 JDBC(org.springframework.jdbc.datasource.DataSourceTransactionManager )等。在Spring框架中,事务管理相关的最重要的三个接口如下:PlatformTransactionManagerTransactionDefinitionTransactionStatusSpring事务管理的五大属性:隔离级别、传播行为、超时时间、是否只读、回滚规则在TransactionDefinition接口中定义了事务的隔离级别、传播行为、超时时间的常量是否只读:指该事物是只读操作还是读写操作,boolean类型回滚规则:我们可以人为的控制事务在执行过程中抛出某些异常时仍然提交事务,或者抛出某些异常时回滚事务以上就是“Spring中怎么管理事务”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: go语言如何删除字符串中的空格

本篇内容主要讲解“go语言如何删除字符串中的空格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言如何删除字符串中的空格”吧! 删除方法:1、使用TrimSpace()函数去除字符串左右两边的空格,语法“str…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/20 15:34
下一篇 03/20 15:35

相关推荐