网站大量收购独家精品文档,联系QQ:2885784924

Spring管理事务操作的几种方式.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring管理事务操作的几种方式

Spring管理事务操作的几种方式 在java工程中,通常会涉及到事务操作处理。通过Spring可以实现对事务操作的管理,简化代码。下面详细介绍Spring管理事务操作的几种方式及其具体应用。 在讲解具体操作方式之前,先定义公共的bean信息,xml文件中实现代码如下: Xml代码 在定义hibernate的配置文件中添加以下代码,声明事物操作bean: !-- 定义事务管理器(声明式的事务) -- bean id=transactionManager class=org.springframework.orm.hibernate3.HibernateTransactionManager property name=sessionFactory ref local=sessionFactory / /property /bean 在定义service的配置文件中添加以下代码,声明service bean: !-- 业务逻辑层(是对各个DAO层的正面封装)主要用到门面模式 -- bean id=fundService class=com.jack.fund.service.serviceimpl.FundService property name=operdao ref bean=operatorDAO / /property /bean 可能还有其他很多模块。bean id=fundService/可能只是其中的模块。 在实际应用时,只要将需要事务处理的service方法名称定义为以delete、update、add、save开头,在运行时出现异常后,会自动回滚。 第一种:配置声明式事务的方法如下。 这种是我们最常用的方法了,它适用于你的库表比较少的情况下。 Xml代码 bean id=fundServiceDAOProxy class=org.springframework.transaction.interceptor.TransactionProxyFactoryBean !-- 配置事务管理器 -- property name=transactionManager ref bean=transactionManager / /property !-- 此属性指定目标类本省是否是代理的对象.如果目标类没有实现任何类,就设为true代表自己 -- property name=proxyTargetClass valuefalse/value /property property name=proxyInterfaces valuecom.jack.fund.service.IFundService/value /property !-- 目标bean -- property name=target ref bean=fundService / /property !-- 配置事务属性 -- property name=transactionAttributes props prop key=delete*PROPAGATION_REQUIRED/prop prop key=add*PROPAGATION_REQUIRED/prop prop key=update*PROPAGATION_REQUIRED/prop prop key=save*PROPAGATION_REQUIRED/prop prop key=find*PROPAGATION_REQUIRED,readOnly/prop /props /property /bean 以下可能还有其他的xxxServiceDAOProxy.大家可以看出针对每一个功能模块配置一个业务代理服务。 如果模块多大话,就显得代码有点多了,发现他们只是稍微一点不一样。这时我们就应该想到继承的思想。用第二种方法。 第二种:配置声明式事务的方法如下。 这种情况适合相对比较多的模块时使用 Xml代码 !-- 利用继承的思想简化配置,要把abstract=true -- bean id=transactionBase class=org.springframework.transaction.interceptor.Transact

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档