Spring事务管理_java培训

发布于:2022-11-03 ⋅ 阅读:(691) ⋅ 点赞:(0)

Spring事务管理

1编程式事务管理

  • 使用原生的JDBC API进行事务管理

         ①获取数据库连接Connection对象

         ②取消事务的自动提交

         ③执行操作

         ④正常完成操作时手动提交事务

         ⑤执行失败时回滚事务

         ⑥关闭相关资源

  • 评价

      使用原生的JDBC API实现事务管理是所有事务管理方式的基石,同时也是最典型         的编程式事务管理。编程式事务管理需要将事务管理代码嵌入到业务方法中来控制事务         的提交和回滚。在使用编程的方式管理事务时,必须在每个事务操作中包含额外的事务         管理代码。相对于核心业务而言,事务管理的代码显然属于非核心业务,如果多个模块         都使用同样模式的代码进行事务管理,显然会造成较大程度的代码冗余

2 声明式事务管理

         大多数情况下声明式事务比编程式事务管理更好:它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理。

         事务管理代码的固定模式作为一种横切关注点,可以通过AOP方法模块化,进而借助Spring AOP框架实现声明式事务管理。

         Spring在不同的事务管理API之上定义了一个抽象层,通过配置的方式使其生效,从而让应用程序开发人员不必了解事务管理API的底层实现细节,就可以使用Spring的事务管理机制。

         Spring既支持编程式事务管理,也支持声明式的事务管理。

3 Spring提供的事务管理器

         Spring从不同的事务管理API中抽象出了一整套事务管理机制,让事务管理代码从特定的事务技术中独立出来。开发人员通过配置的方式进行事务管理,而不必了解其底层是如何实现的。

         Spring的核心事务管理抽象是PlatformTransactionManager。它为事务管理封装了一组独立于技术的方法。无论使用Spring的哪种事务管理策略(编程式或声明式),事务管理器都是必须的。

         事务管理器可以以普通的bean的形式声明在Spring IOC容器中。

4事务管理器的主要实现

  • DataSourceTransactionManager:在应用程序中只需要处理一个数据源,而且通过JDBC存取。
  • JtaTransactionManager:在JavaEE应用服务器上用JTA(Java Transaction API)进行事务管理
  • HibernateTransactionManager:用Hibernate框架存取数据库

想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训课程视频供广大学员下载学习

 


网站公告

今日签到

点亮在社区的每一天
去签到