spring配置声明式事务遇到的问题 望高手解决!

问题描述

我在用spring配置声明式事务时用<tx:advice>里面没有属性自己往里加时有错误配置文件如下:<?xmlversion="1.0"encoding="UTF-8"?><!---Middletierapplicationcontextdefinitionfortheimagedatabase.--><beansxmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsd"><beanname="sessionFactory"class="hibernate.HibernateSessionFactory"/><beanname="transaction"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"></property></bean><tx:advice><tx:attributes><tx:methodname="add*"propagation="REQUIRED"/><tx:methodname="del*"propagation="REQUIRED"/><tx:methodname="update"propagation="REQUIRED"/><tx:methodname="save*"propagation="REQUIRED"/><tx:methodname="send*"read-only="true"/><tx:methodname="find*"read-only="true"/><tx:methodname="select*"read-only="true"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><aop:config><aop:pointcutid="persionImpl"expression="execute(*persionImpl.PersionImpl.*(..))"/><aop:advisorid="advice"advice-ref="?"pointcut-ref="persionImpl"/></aop:config><beanname="persionImpl"class="persionImpl.PersionImpl"/></beans>希望哪位高手来帮我解决一下?

解决方案

解决方案二:
你去找个配置文件看下不行么?
解决方案三:
给你一个我这边的例子:<!--配置事务的传播特性--><tx:adviceid="txAdvice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="add*"propagation="REQUIRED"/><tx:methodname="delete*"propagation="REQUIRED"/><tx:methodname="modify*"propagation="REQUIRED"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><!--那些类的哪些方法参与事务--><aop:config><aop:advisorpointcut="execution(*com.oa.manager.*.*(..))"advice-ref="txAdvice"/></aop:config>注意红色文字的写法,寻找执行切入点。
解决方案四:
<tx:adviceid="txAdvice"transaction-manager="transactionManager">加了id属性厚报错只能写成<tx:advice>是什么原因啊缺包吗?还是配置文件头有问题?
解决方案五:
结贴律过低,不予回答。
解决方案六:
引用4楼yingzhuo2011的回复:

结贴律过低,不予回答。

此话说的好。
解决方案七:
我的帖子没人回答啊,怎么?

时间: 2024-08-03 13:58:01

spring配置声明式事务遇到的问题 望高手解决!的相关文章

spring的声明式事务

关于事务配置的详解:Spring事务配置的五种方式 http://www.blogjava.net/robbie/archive/2009/04/05/264003.html 事务的传播特性 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层那么当我们调用Service层的一个方法的时候它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么全部失败.那么事务的传播特性也是从这里说起的.如果你在你的Service层

SSI声明式事务不起作用,请高手帮忙看下

问题描述 用的SSI框架(Struts2.1.8+Spring2.5+Ibatis2.3.4)将事务的开启定义在了biz层,声明式事务中指定了哪些方法使用读写事务,如果biz中定义的方法与声明式事务中指定的方法名不一致,应该无法增删改的,但结果是仍然能增删改,请高手看看哪里出了问题声明式事务中定义的是save*,而biz里面方法名是insertEmp,以前SSH集成的时候这样写访问会报错数据也插入不进去,但换成SSI之后,就没这个效果了配置如下:Spring配置<beanid="prope

Spring的声明式事务管理

在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚.这个例外是unchecked 如果遇到checked意外就不回滚. 如何改变默认规则: 1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class) 2 让unchecked例外不回滚: @Trans

spring的声明式事务问题

问题描述 ①BaseServices 中有两个方法 updateName(),updateFlag()# DaoServices 中有个方法updateFlag()②UserServices 中有个方法,methodUserServices()[注解:Propagation.REQUIRES_NEW],调用如下methodUserServices(){ try{ updateName(); }catch(){ updateFlag(); }}两个方法操作的是同表.同记录,会导致一个问题,如果up

S2SH中,添加了声明式事务就报错!高手帮帮忙,解决下!

问题描述 2011-01-1218:39:33,953[org.springframework.web.context.ContextLoader]-[ERROR]Contextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'mateService'definedinServletContextresource[/WEB-INF/applic

spring学习笔记(22)声明式事务配置,readOnly无效写无异常

在上一节内容中,我们使用了编程式方法来配置事务,这样的优点是我们对每个方法的控制性很强,比如我需要用到什么事务,在什么位置如果出现异常需要回滚等,可以进行非常细粒度的配置.但在实际开发中,我们可能并不需要这样细粒度的配置.另一方面,如果我们的项目很大,service层方法很多,单独为每个方法配置事务也是一件很繁琐的事情.而且也可能会造成大量重复代码的冗杂堆积.面对这些缺点,我们首要想到的就是我们spring中的AOP了.spring声明式事务的实现恰建立在AOP之上. 在这一篇文章中,我们介绍s

Spring声明式事务管理源码解读之事务开始

这个是我昨天在解决问题是看源码得一点体验,可能说得比较大概,希望大家多多讨 论,把本贴得质量提高上去,因为spring实现的事务管理这部分我相信还是有点复杂的. 一个人未必能想得十分清楚 在spring的声明式事务管理中,它是如何判定一个及标记一个方法是否应该是处在事 务体之中呢. 首先要理解的是spring是如何来标记一个方法是否应该处在事务体之中的.有这样一 个接口TransactionDefinition,其中定义了很多常量,它还有一个子接口 TransactionAttribute,其中

spring声明式事务 同一类内方法调用事务失效

只要避开Spring目前的AOP实现上的限制,要么都声明要事务,要么分开成两个类,要么直接在方法里使用编程式事务 [问题]        Spring的声明式事务,我想就不用多介绍了吧,一句话"自从用了Spring AOP啊,事务管理真轻松啊,真轻松:事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务:轻量级,测试起来也简单,嘿!".不管从哪个角度看,轻量级声明式事务都是一件解放生产力的大好事.所以,我们"一直用它".         不过,最近的一个项目里

spring声明式事务管理解析_java

前沿:通过对spring事务管理有了比较深入学习,本文将不做实例,而是指定具体的类和配置文件进行讲解. 本文内容: 1.了解什么是声明式事务? 2.声明式事务管理分别有哪几种? 3.这几种事务管理之间的区别是什么? 一.什么是声明式事务? 声明式事务(declarative transaction management)是spring提供的对程序事务管理的方式之一.Spring的声明式事务就是采用声明的方式来处理事务,用在Spring配置文件中声明式的处理事务来代替代码式的处理事务.这样的好处是