1.Spring事务执行的原理;
- Spring事务使用AOP的机制实现,会在@Transcactional注解修饰的方法前后织入部分逻辑(包括开启事务、提交事务及事务回滚操作等);
- @Transactional注解可以修饰在类或方法上,与修饰在方法上不同,修饰在类上可以使类中符合条件的所用方法实现事务(private类型方法不能开启事务);
2.Spring事务传播传播机制
-
REQUIRED(默认值)
支持当前事务,若没有事务则新建一个事务; -
SUPPORTS
支持当前事务,如果没有事务的话以非事务方式运行; -
MANDATORY
支持当前事务,如果当前没有事务则抛出异常; -
REQUIRED_NEW
创建一个新的事务,并挂起当前事务; -
NOT_SUPPORTS
以非事务方式执行,如果当前事务存在则将当前事务挂起; -
NEVER
以非事务方式执行,若当前存在事务则抛出异常; -
NESTED
如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与REQUIRED类似的操作
网友评论