接上一篇博客:https://blog.csdn.net/qq_43605444/article/details/122085016?spm=1001.2014.3001.5502
4、声明式事务管理
大多数 Spring 框架用户选择声明式事务管理。 此选项对应用程序代码的影响最小,因此最符合非侵入式轻量级容器的理想。
Spring 框架的声明式事务管理通过 Spring 面向方面的编程 (AOP) 成为可能。 然而,由于事务方面代码随 Spring Framework 发行版一起提供,并且可以以样板方式使用,因此通常不必理解 AOP 概念即可有效地使用此代码。
Spring 框架的声明式事务管理类似于 EJB CMT
,因为您可以将事务行为(或缺少它)指定到单个方法级别。 如果需要,您可以在事务上下文中调用 setRollbackOnly()
。 两种事务管理的区别是:
- 与绑定到 JTA 的 EJB CMT 不同,Spring 框架的声明式事务管理可在任何环境中工作。 它可以通过调整配置文件使用 JDBC、JPA 或 Hibernate 来处理 JTA 事务或本地事务。
- 您可以将 Spring Framework 声明式事务管理应用于任何类,而不仅仅是诸如 EJB 之类的特殊类。
- Spring Framework 提供了声明式回滚规则,这是一项没有 EJB 等效项的特性。 提供了对回滚规则的编程和声明性支持。
- Spring 框架允许您通过使用 AOP 来自定义事务行为。 例如,您