Spring 事务的种类?

Spring 支持编程式事务管理和声明式事务管理两种方式:

spring-d3ee77fa-926d-4c39-91f8-a8b1544a9134.png

  1. 编程式事务

编程式事务管理需要显式地在代码中执行事务操作,使用TransactionTemplate来管理事务。

  1. 声明式事务

声明式事务管理是建立在AOP之上的一种事务管理方式。它通过AOP的拦截功能,在方法执行前后进行拦截,并将事务处理的逻辑编织到目标方法中。在目标方法执行之前启动事务,在执行完成后根据执行结果提交或回滚事务。

  1. 声明式事务的优点在于,不需要在业务逻辑代码中混杂事务管理的代码。只需在配置文件中声明相关的事务规则,或者通过@Transactional注解的方式,就可以将事务规则应用到业务逻辑中,减少了业务代码的冗余。唯一的缺点是,声明式事务的粒度最细只能到方法级别,无法像编程式事务那样可以应用到代码块级别。

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题