有人可以告诉我如何使用Spring的@Transactional注释来处理提交和回滚吗?它们是由弹簧自动处理还是需要手动处理?
答案 0 :(得分:7)
拥有@Transactional注释的重点是让容器(在本例中为Spring)自动处理所有与事务相关的东西。 这意味着如果一切顺利且没有抛出异常,容器将在退出@Transactional代码时提交事务,否则如果发生异常,事务将被回滚。
如果您想知道,Spring中的@Transaction是使用AOP实现的,因为它是一个横切关注点。 您可以阅读documentation了解所有详细信息
答案 1 :(得分:0)
@Transactional注释将减轻开发人员的负担。由于事务代码是一个跨领域的关注,如果我们在方法周围声明这个注释,spring本身为我们提供了使用aop概念内部开发的注释。 Spring将处理事务,如果有任何异常引发它将在事务管理器上发出回滚,否则在事务管理器上提交
如果你想学习更多春季交易的内部细节,请阅读本文档 spring transactions