我正在使用SpringFramework3.0.5和Hibernate框架,我开始使用现在的Spring事务管理。我有一些问题,只是为了了解Springs事务管理是如何工作的。
1)
我在Spring参考中读到了这些东西:
a)跨不同事务API (如Java、JDBC、Hibernate、Java (JPA)和JDBC (JDO) )的一致编程模型。
Spring解决了全局和本地事务的缺点。它使应用程序开发人员能够在任何环境中使用一致的编程模型。您只编写一次代码,它可以从不同环境中的不同事务管理策略中获益。
c)使用EJB或JTA的唯一选择是用本地事务(如JDBC连接上的事务)编写代码,如果您需要在全局容器管理的事务中运行该代码,则会面临大量的重新工作。使用Spring,只需要更改配置文件中的一些bean定义,而不是代码。
)我知道我可以在Spring中使用那些API,而不需要更改代码
(从b)我知道我可以使用全局或本地事务*而无需更改代码
(从c)我了解到,在不同API和全局/本地事务之间切换时,需要更改代码
现在我想知道什么是正确的?
=>我需要修改代码吗?在不同API之间切换的时候?在本地和全球事务之间切换时?(或者它可能依赖于预博弈和声明式事务管理?)
2)
我还问了另外一个问题:我真的想知道编程事务管理的使用是什么?无论我读到什么地方,都推荐使用声明式事务管理。
我在春季参考文献中也读到了这篇文章:
(
d)使用编程事务管理,开发人员使用抽象,它可以运行在任何底层事务基础结构上。使用首选的声明式模型,开发人员通常很少或根本不编写与事务管理相关的代码,因此不依赖Spring Framework事务API或任何其他事务API。
我理解:通过编程事务管理,我可以使用任何底层事务基础结构.这意味着什么?上面提到的不同API?
使用声明式,我不依赖于任何api。
=>这不是一样吗?当我可以使用任何底层api时,我不依赖于任何api。我不太明白这一点。
有什么不同吗?我只知道声明性事务管理更轻量级,我不需要自己启动事务,捕获异常并处理它等等。但是,编程事务管理的用途是什么呢?
谢谢你的答覆:-)
发布于 2011-05-11 10:12:12
https://stackoverflow.com/questions/5962489
复制相似问题