第255天学习打卡(知识点回顾 spring 声明式事务管理参数配置)
Posted doudoutj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第255天学习打卡(知识点回顾 spring 声明式事务管理参数配置)相关的知识,希望对你有一定的参考价值。
知识点回顾
spring事务操作(声明式事务管理参数配置)
1.在service类上面添加注解@Transactional,这个注解里面可配置事务相关参数
2、propagation:事务传播行为
spring框架事务传播行为有7种:
required:如果有事务在运行,当前的方法就在这个事务内运行,否则,就启动一个新的事务,并在自己的事务内运行。
required_new:当前的方法必须启动新事务,并在他自己的事务内运行,如果有事务正在运行,应该将他挂起。
supports:如果有事务在运行,当前的方法就在这个事务内运行,否则它就可以不运行在事务中。
not_supporte:当前的方法不应该运行在事务中。如果有运行的事务,将它挂起。
mandatory:当前的方法必须运行在事务内部,如果没有正在运行的事务,就抛出异常。
never:当前的方法不应该运行在事务中,如果有运行的事务,就抛出异常。
nested:如果有事务在运行,当前的方法就应该在这个事务的嵌套事务内运行,否则,就启动一个新的事务,并在它自己的事务内运行。
3.ioslation:事务隔离级别
(1)事务有特性成为隔离性,多事务操作之间不会产生影响。不考虑隔离性产生很多问题。
(2)有三个读问题:脏读,不可重复读,幻读
(3)脏读:一个未提交事务读取到另外一个未提交事务的数据。
(4)不可重复读:一个未提交事务读取到另外一个提价事务修改数据
(5)幻读:一个未提交事务读取到另外一提交事务添加数据。
(6)解决:通过设置事务隔离性,解决读问题。
4.timeout:超时时间
(1)事务需要在一定时间内进行提交,如果不提交进行回滚
(2)默认值是-1.设置时间以秒单位进行计算
5.readOnly:是否只读
(1)读:查询操作,写:添加修改删除操作
(2)readOnly默认值为false.表示可以查询,可以添加修改删除操作
(3)设置readOnly值是true,设置为true之后,只能查询
6.rollbackFor:回滚
设置出现哪些异常进行事务回滚
7.noRollbackFor:不会滚
设置出现哪些异常不进行事务回滚。
以上是关于第255天学习打卡(知识点回顾 spring 声明式事务管理参数配置)的主要内容,如果未能解决你的问题,请参考以下文章