- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring的4种事物管理
spring的4种事物管理
Spring?2009-04-08 19:59:51?阅读241?评论0??字号:大中小?订阅
Spring中的四种声明式事务的配置??????? Spring容器中有两种思想很重要,也就是我们常用的Ioc和Aop,如果理解了这两种思想,对于我们学习设计模式和编程有很大的帮助,美国四人帮(GOF)写的设计模式中,有很多都用到了Ioc的思想。简单的说就是依赖注入的思想。常见的一种情况:如果一个类中要复用另外一个类中的功能时,我们可能会首先想到继承,如果你知道Ioc这种思想的话,我想你不会用继承,你会马上想到把要用到功能抽取出来,在我们要用到的类中只需通过set方法简单的注入就可以了,其实这里用到了对象的组合代替继承,这样不仅避免了单一继承,还很好的实现了松耦合。同时也遵循了面向对象的编程的设计原则:多用组合,少用继承。在这里对于Ioc和Aop这两种思想的好处。我就不介绍了。接下来我要说的是Spring中几种常见的事务配置,是Aop和Ioc的充分体现。?????? 在说点题外话,以前EJB在J2EE中开发中可是大名鼎鼎的了。就是因为EJB提供了很多服务,而不需要我们去开发了,其中用到最多的算是它提供的声明式事务了。在Spring没有出现之前,EJB在J2EE开发中扮演着非常重要的角色。同时也是很多项目失败的罪魁祸首。其中的原因就是因为它是重量级,强侵入性收费的框架。需要昂贵的服务器支持,在加上它的测试更是让人头痛。而Spring恰恰与它相反。Spring是一个轻量级的,非侵入性的开源框架。它提供的声明式事务的功能更是强大,不需要容器的支持。这一点吸引力很多人愿意放弃EJB而使用Spring。????? 让我们言归正传吧。?????? 以下两个bean的配置是下面要用到的。!-- 定义事务管理器(声明式的事务) --bean id=transactionManagerproperty name=sessionFactory?? ref local=sessionFactory //property/bean!-- *******业务逻辑层(是对各个DAO层的正面封装)主要用到门面模式****** --bean id=fundServiceproperty name=operdao?? ref bean=operatorDAO //propertyproperty name=producedao?? ref bean=fundProduceDAO //property/bean可能还有其他很多模块。bean id=fundService/可能只是其中的模块。
?????? 第一种:配置声明式事务的方法如下。也是我们最常用的方法了,它适用于你的库表比较少的情况下。bean id=fundServiceDAOProxy!-- 配置事务管理器 --property name=transactionManager?? ref bean=transactionManager //property!-- 此属性指定目标类本省是否是代理的对象,如果目标类没有实现任何类,就设为true代表自己 --property name=proxyTargetClass?? valuefalse/value/propertyproperty 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.大家可以看出针对每一个功能模块配置一个业务代理服务。如果模块多大话,就显得代码有点多了,发现他们只是稍微一点不一样。这时我们就应该想到继承的思想。用第二种方法。第
您可能关注的文档
- 1.11两极与冷战.ppt
- 10000以内数的读写和组成.doc
- 107国道基本情况.doc
- 10个方式让大脑保持清醒.doc
- 1.6昼夜更替和偏向.ppt
- 1.1《自尊自爱》第二课时.ppt
- 11二龙戏珠和拔苗助长.doc
- 11月PMI连续14个月高于临界点 经济韧性好于预期.doc
- 10、揠苗助长.ppt
- 12 参照系坐标系 质点和刚体.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)