springboot事务的配置步骤有哪些?什么是事务?

2020-04-20 15:28:04 java常见问答 7296

今天给大家带来的是springboot的事务,大家理解什么是事务吗?不用事务会发生什么事情呢?好了,接下来跟着小编一起来了解下吧。

理解事务之前,简单的来讲一个例子:假如你去银行取钱,大概一共有两个步骤:先输入密码扣钱,让后ATM出钱。这两个步骤是要么都执行要么都不执行的。如果扣钱失败出钱成功那么银行将会损失一笔钱,如果扣钱成功出钱失败那么你就会损失一笔钱。如果当哪一个步骤出现错误的时候能够回滚,也就是回到最之前的状态的话,就可以完美的解决这一类的问题。事务就可以解决这一类型的问题!

事务的ACID:

原子性:事务中各项操作,要么全做要么全部做,任何一项操作的失败都会导致整个事务的失败。

一致性:当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行之前的状态。

隔离性:在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。

持久性:事务完成后所做的改动都会被持久化。

事务的实现方式:

编程式事务:这意味着你可以通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。

声明式事务:这种方式意味着你可以将事务和业务代码分离,你只需要通过注解或者xml配置来管理事务。

事务的使用:

注解的方式

springboot事务

springboot事务

在配置项中打上@EnableTransactionManagement启动注解事务管理,

然后在访问数据库的方法上打上@Transaction就可以了。

Transaction的主要配置项:

ReadOnly 是否开启只读事务 默认值为false

timeOut 超时时间 单位为秒,超时则会引发异常进行回滚

rollbackFor 回滚事务的异常类的定义 只有当方法中定义的异常发生了异常,就会发生异常

Propagation 传播行为 传播行为是指方法调用之间的问题,默认为propagation.REQUIRED

XMl配置的方式

在resource中添加一个XML配置文件Transaction.xml文件

springboot事务

springboot事务

最后在配置项中@ImportResource("classpath:transaction.xml")即可。

以上就是小编今天所讲的有关springboot事务的Java入门的知识,想要了解更多知识,请继续关注本网站。