1.作用简述br/> 作用由于业务需求,在**Service的方法A中使用一个for循环,每次循环里面的业务可能会发生异常,这个时候需要将循环内的所有数据库操作给回滚掉**,但又不能影响到之前循环里数据的更改,并且后面的循环里不发生异常的情况下也需要正常操作数据库。
**2.用法简述**
为了保证事务的一致性,事务管理对企业应用是至关重要的。Sring支持编程式事务管理和声明式事务管理两种方式。
编程式事务管理两种实现方式:1)TransactionTemplate;2)直接使用底层的PlatformTransactionManager。对于编程式事务管理,Spring推荐使用方式1)。
声明式事务管理建立在AOP之上,其本质是对方法前后进行拦截,然后再目标方法开始之前创建一个或加入一个事务,在执行完目标方法之后,根据情况执行或回滚事务。声明式事务管理也有两种方式:1)基于tx和aop名字空间的xml配置文件;2)基于@Transactional注解。注解方式更简单易用。
3.Transactional注解使用说明br/> 当作用于类上,该类的所有public方法都具有该事务属性。也可以**作用于方法级别上**。
在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。
使用@Transactional如果不配置rollbackFor属性,那么事务只会在遇到RuntimeException的时候才会回滚,加上rollbackFor=Exception.class,可以让事物在遇到非运行时异常时也回滚。
相关文章
- 04-10@Transactional的使用
- 04-10数据库回滚-@Transactional
- 04-10@Transactional 回滚代码
- 04-10@Transactional 事务提交之后执行 @Async 修饰的方法
- 04-10spring @Transactional注解参数详解
- 04-10Spring之路(40)–使用@Transactional进行声明式事务管理如此简单
- 04-10spring注解@Transactional 和乐观锁,悲观锁并发问题
- 04-10关于@Transactional注解的几种失效场景
- 04-10SpringBoot事务注解@Transactional 事物回滚、手动回滚事物
- 04-10事务(@Transactional注解)的用法和实例