在spring中配置hibernate事务

在spring中配置hibernate事务

ID:3921319

大小:896.18 KB

页数:14页

时间:2017-11-25

在spring中配置hibernate事务_第1页
在spring中配置hibernate事务_第2页
在spring中配置hibernate事务_第3页
在spring中配置hibernate事务_第4页
在spring中配置hibernate事务_第5页
资源描述:

《在spring中配置hibernate事务》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文主要探讨怎么用Spring来装配组件及其事务管理。在J2EE工程里连接到一个简单的数据库并不是什么难题,但是如果要综合组装企业类的组件就变得复杂了。一个简单的组件有一个或多个数据库支撑,所以,我们说到整合两个或多个的组件时,我们希望能够维持跨组件的许多数据库的运作的原子性。J2EE提供了这些组件的容器,可以保证处理的原子性和独立性。在没有J2EE的情况下我们可以用Spring。Spring基于IoC模式(即反转模式),不仅可以配置组件服务,还可以配置相应的方法。为了更好的实现本文的目的,我们使用Hibernate来做相应的后台开发。装配组件事务假设

2、在组件库里,我们已经有一个审核组件(auditcomponent),里面有可以被客户端调用的方法。接着,当我们想要构建一个处理订单的体系,我们发现设计需要的OrderListManager组件服务同样需要审核组件服务。OrderListManager创建和管理订单,每一个服务都含有自己的事务属性。当这时调用审核组件,就可以把OrderListManager的处理内容传给它。也许将来新的业务服务(businessservice)同样需要审核组件,那这时它调用的事务内容已经不一样了。在网络上的结果就是,虽然审核的功能保持不变,但是可以和别的事件功能组合在一

3、起,用这些方法属性来提供不同的运行时的处理参数。在图1中有两个分开的调用流程。在流程1里,如果客户端含有一个TX内容,OrderListManager要由一个新的TX开始或者参与其中,取决于客户端在不在TX里以及OrderListManager方法指定的TX属性。这在它调用AuditManager方法的时候仍然适用。图1.装配组件事务EJB体系通过装配者声明正确的事务属性来获得这种适应性。我们不是在探讨是否声明事务管理,因为这会使运行时的事务参数代码发生改变。几乎所有的J2EE工程提供了分布的事务管理来配合提交协议例如X/OpenXAspecifica

4、tion。现在的问题是我们能不能不用EJB来获得相同的功能?Spring是其中一种解决方案。来看一下Spring如何处理这样的问题:用Spring来管理事务我们将看到的是一个轻量级的事务机制,实际上,它可以管理组件层的事务集成。Spring就是如此。它的优点是我们可以不用捆绑在J2EE的服务例如JNDI数据库。最棒的是如果我们想把这个事务机制与已经存在的J2EE框架组合在一起,没有任何问题,就好像我们找到了杠杆中完美的支撑点一样。Spring的另一个机制是使用了AOP框架。这个框架使用了一个可以使用AOP的Springbeanfactory。在Spri

5、ng特定的配置文件applicationContext.xml里通过特定的组件层的事件来指定。

6、="target">PROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIRED

7、tem">PROPAGATION_REQUIRED,-com.example.exception.FacadeExceptionPROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED,readOnly一旦我们在服务层指定了事务属性,它们就被一个继承org.springframewo

8、rk.transaction.PlatformTransactionManager接口的类截获

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。