Spring Transaction Management用法

时间:2015-11-26 03:57:24

标签: spring

有人能为我提供一个Spring Transaction管理的例子吗?我有问题,它基本上是如何工作的?在Java EE中,应用程序服务器容器用于使用EJB来处理事务。我想知道Spring框架如何以同样的方式起作用?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

Spring Framework的事务管理支持并不需要应用程序服务器。

Spring框架声明spring框架的声明性事务提供了比EJB CMT更强大,更高效的编程模型。

与使用EJB的事务管理相比,Spring框架使应用程序开发人员能够在任何环境中使用一致的编程模型。一旦我们编写了代码,它就可以从不同环境中的不同事务管理策略中受益。

Spring Framework提供了声明式和程序化的事务管理。

程序化事务管理 - 开发人员使用Spring Framework事务抽象,它可以在任何底层事务基础结构上运行。 声明性模型 - 开发人员通常很少或根本不编写与事务管理相关的代码,因此不依赖于Spring Framework事务API或任何其他事务API。

答案 2 :(得分:0)

  • Spring框架为交易提供中央接口 管理,即“ PlatformTransactionManager”
  • 如果有很多实现,您可以快速实现 与之相关的是DataSourceTransactionManager。
  • 现在,该交易经理开始进行较低级别的工作, 回滚并提交事务。
  • 如果您看到DataSourceTransactionManager的源,您将看到 与您在使用时看到的同类交易管理代码相同 您可以使用JDBC API处理事务
  • 但重要的是,所有这些事情都是声明式地发生的 使用Spring AOP代理咨询

开始交易

DataSource ds = /*initialize DS here*/
Connection con = ds.getConnection();
con.setAutoCommit(false);

提交交易

com.commit();