@Transactional参数
时间: 2023-10-31 13:58:17 浏览: 90
Spring源码学习十二:@Transactional是如何工作的1
@Transactional 参数是用于声明一个方法或类需要进行事务管理的注解。它是 Spring 框架中的一个注解,用于定义事务的边界和属性。通常情况下,当一个被 @Transactional 注解修饰的方法被调用时,Spring 会在方法开始执行前开启一个事务,并在方法结束后根据执行结果决定事务的提交或回滚。
@Transactional 注解可以应用在方法级别或类级别上。当应用在方法上时,仅该方法将被事务管理;当应用在类上时,该类中的所有公共方法都将被事务管理。
@Transactional 注解也可以接受一些参数来定义事务的属性,例如传播行为、隔离级别、超时时间等。常用的参数包括:
- propagation:指定事务的传播行为,定义了当前方法执行时如何使用现有的事务。
- isolation:指定事务的隔离级别,定义了事务对于并发访问的控制程度。
- timeout:指定事务的超时时间,定义了事务执行所允许的最长时间。
- readOnly:指定事务是否为只读事务,如果是只读事务,则不允许对数据库进行写操作。
- rollbackFor:指定哪些异常触发事务回滚。
- noRollbackFor:指定哪些异常不触发事务回滚。
这些参数可以根据具体业务需求进行配置,以实现对事务的精确控制。
阅读全文