这篇文章,主要介绍Spring中的两种事务,编程式事务和基于XML方式的声明式事务。
目录
一、Spring中事务
1.1、什么是事务
事务,是指将很多件事情看成一个整体,这些事情要么全部执行成功,要么全部执行失败,我们就把这一个整体称为:事务。事务满足四个特性:【ACID】,这里不详细介绍这四个特性了。
举个栗子:
- 银行转账就是需要事务控制的,假设A用户要给B用户转账1000元,那么就可以分为两个步骤。
- 首先,将A用户的账户余额减少1000元。
- 然后,将B用户的账户余额增加1000元。
- 最终,A、B用户的账户余额都是正确的,那么这个事务就是成功了。
- 但是,如果A用户账户余额减少1000元后,此时系统宕机了,没有把B用户的账户余额增加1000元,那就有问题了,因为A用户凭空消失了1000元,并且B用户又没有收到A用户的1000元转账,显然,这种情况是不允许出现的。