Spring事务管理方式
2020-12-26 16:29
标签:get nes 添加 save code 文件中 ever 情况下 默认 如果不配置spring的事务,那么默认每次执行dao层方法即自动提交事务。 Spring事务管理方式有两种 1) 编程式事务:以java编码的方式来实现事务的管理。基本不使用。 2) 声明式事务:只需要申明配置事务的处理方式,spring会自动进行事务管理。 a. 事务管理器 b. 事务的传播特性:事务的传播特性用来定义事务中又存在事务的情况下,该如何来处理事务。(Service层方法调用service层方法时) a) Required:必须,必须有一个事务,如果没有,则会开启一个事务。如果有,则使用当前事务。(默认) b) Requireds_new:(需要自己的新的事务) 必须运行在自己的事务中,即使当前方法存在一个事务,也会新建一个自己的事务。执行本身事务时,会将外部事务挂起。 c) Nested:(嵌套)可以多个事务嵌套在一起,内部事务不会影响外部事务,外部事务回滚,会影响到内部事务回滚。 d) Mandtory: (必须有事务)要求必须有事务,没有事务就抛出异常。 e) Never:(永不) 不支持事务,有事务就抛出异常。 f) Supports:(支持) 如果 有事务和没有事务都支持。 g) not_supported :(不支持事务),有事务存在,便不运行,直到事务提交后再执行。 c. 事务的隔离级别: a) READ_UNCOMMITTED:读未提交 b) READ_COMMITTED:读已提交 c) REPEATABLE_READ:可重复读 d) SERIALIZABLE:串行化 e) DEFAULT:按照数据库默认的隔离级别。(默认) d. 事务AOP,将事务切入到对应的方法。 e. 以注解的形式配置 a) 在spring的配置文件中配置启用事务注解 b) 在需要事务处理的类或方法上面添加事务注解 @Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.READ_COMMITTED) Spring事务管理方式 标签:get nes 添加 save code 文件中 ever 情况下 默认 原文地址:https://www.cnblogs.com/xie-qi/p/13034627.html
tx:annotation-driven/>