如何在@Transactional中处理提交和回滚?

时间:2014-04-07 07:34:22

标签: java spring java-ee spring-mvc

有人可以告诉我如何使用Spring的@Transactional注释来处理提交和回滚吗?它们是由弹簧自动处理还是需要手动处理?

2 个答案:

答案 0 :(得分:7)

拥有@Transactional注释的重点是让容器(在本例中为Spring)自动处理所有与事务相关的东西。 这意味着如果一切顺利且没有抛出异常,容器将在退出@Transactional代码时提交事务,否则如果发生异常,事务将被回滚。

如果您想知道,Spring中的@Transaction是使用AOP实现的,因为它是一个横切关注点。 您可以阅读documentation了解所有详细信息

答案 1 :(得分:0)

@Transactional注释将减轻开发人员的负担。由于事务代码是一个跨领域的关注,如果我们在方法周围声明这个注释,spring本身为我们提供了使用aop概念内部开发的注释。 Spring将处理事务,如果有任何异常引发它将在事务管理器上发出回滚,否则在事务管理器上提交

如果你想学习更多春季交易的内部细节,请阅读本文档 spring transactions