项目名:1ma1ma

jdbc.xml

<bean  id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" 

           p:driverClassName="${jdbc.driverClassName}"

           p:url="${jdbc.url}"

           p:username="${jdbc.username}"

           p:password="${jdbc.password}"

           p:maxActive="${jdbc.pool-size}"

           p:minEvictableIdleTimeMillis="600000" p:timeBetweenEvictionRunsMillis="900000"

           p:removeAbandoned="true" p:logAbandoned="true" p:removeAbandonedTimeout="120"

           p:maxWait="5000"

    />

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  

        <property name="dataSource">  

            <ref local="dataSource" />  

        </property>  

    </bean>  

    <tx:annotation-driven transaction-manager="transactionManager" />

    <context:component-scan base-package="com.yaoma.*">   

        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />   

    </context:component-scan>

servlet-context.xml

<context:component-scan base-package="com.yaoma.*" >   

        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />   

        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />    

    </context:component-scan>

@Transactional

    public int delete(String IMGroupID, String userid) throws Exception {

        //依照IMGroupID和userid更新相应的Groups表内容

        int is_return = Groups_Dao.IsDeleted_Groups(IMGroupID, userid, 0);

        if (is_return == 0) {

            throw new RuntimeException("is_return is 0;");

        }





        //去环信上删除相应的数据

        String hx_return = HX_Service.delete_group(IMGroupID);

        if (hx_return == null) {

            throw new RuntimeException("hx_return is null");

        }

        return Integer.parseInt(hx_return);

    }

@Transactional注解标签

由于在执行中,所以使用RuntimeException进行异常抛出,类中不能使用try捕捉异常,直接throws Exception抛出异常

如执行时使用Exception抛出异常,则回滚无效

Spring mvc注解方式使用事务回滚的更多相关文章

  1. Spring异常抛出触发事务回滚

    Spring.EJB的声明式事务默认情况下都是在抛出unchecked exception后才会触发事务的回滚 /** * 如果在spring事务配置中不为切入点(如这里的切入点可以定义成test*) ...

  2. (转)spring异常抛出触发事务回滚策略

    背景:在面试时候问到事务方法在调用过程中出现异常,是否会传递的问题,平时接触的比较少,有些懵逼. spring异常抛出触发事务回滚策略 Spring.EJB的声明式事务默认情况下都是在抛出unchec ...

  3. Spring 使用注解方式进行事务管理

    转载:http://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html 使用步骤: 步骤一.在spring配置文件中引入<tx:&g ...

  4. spring boot 使用 mybatis 开启事务回滚 的总结

    1.前言 以前没有使用mybatis,可以关闭自动提交,然后做sql操作,对操作进行catch捕获异常, 如果没有异常则commit 提交 ,有异常则 rollback 回滚,新增的数据则删除 ,修改 ...

  5. junit4测试 Spring MVC注解方式

    本人使用的为junit4进行测试 spring-servlet.xml中使用的为注解扫描的方式 <?xml version="1.0" encoding="UTF- ...

  6. [转]spring mvc注解方式实现向导式跳转页面

    由于项目需要用到向导式的跳转页面效果,本项目又是用spring mvc实现的,刚开始想到用spring 的webflow,不过webflow太过笨重,对于我们不是很复杂的跳转来说好像有种“杀鸡焉用牛刀 ...

  7. 事务之二:spring事务(事务管理方式,事务5隔离级别,7个事务传播行为,spring事务回滚条件)

    事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性. spring支持编程式事务管理和声明式事务管理两种方式. 编程式事务管理使用TransactionTemplate或 ...

  8. Spring事务回滚和异常类

    1.异常的一些基本知识 异常的架构 异常的继承结构:Throwable为基类,Error和Exception继承Throwable.Error和RuntimeException及其子类成为未检查异常( ...

  9. 浅谈Spring中的事务回滚

        使用Spring管理事务过程中,碰到过一些坑,因此也稍微总结一下,方便后续查阅. 1.代码中事务控制的3种方式 编程式事务:就是直接在代码里手动开启事务,手动提交,手动回滚.优点就是可以灵活控 ...

随机推荐

  1. TOP命令监视系统任务及掩码umask的作用

    top 命令使用方法及參数. top 选择參数 參数: -b  以批量模式执行.但不能接受命令行输入: -c 显示命令行,而不不过命令名. -d N  显示两次刷新时间的间隔,比方 -d 5,表示两次 ...

  2. 使button的背景色变为半透明的但不影响字体的透明度

    效果如图: 然而做出这样的效果并不顺利, 刚开始的时候代码如下: UIButton *backButton = [UIButton buttonWithType:UIButtonTypeSystem] ...

  3. 关于LightMapping和NavMesh烘焙的动态载入

    熟悉unity的朋友都应该知道,unity有内部LightMapping烘焙和NavMesh寻路的功能.但这些非常好用的功能,都是基于对某个已经保存的关卡(scene)进行烘焙(Bake)的操作,我一 ...

  4. IIS - 无后缀(无扩展名)的MIME类型配置

    添加一个新的 MIME 类型即可. 文件扩展名:. MIME类型:application/octet-stream

  5. C#创建word,操作、读写

    要使用C#操作word,首先要添加引用: 1.添加引用->COM->Microsoft Word 11.0 Object Library 2.在.cs文件中添加 using Word;下面 ...

  6. 【前端】javascript判断undefined、null、NaN;字符串包含等

    JS中判断null.undefined与NaN的方法 这篇文章主要介绍了JS中判断null.undefined与NaN的方法,需要的朋友可以参考下 . . 写了个 str ="s" ...

  7. WordPress 如何修改编辑器TinyMCE里的内容

    //获取编辑器对象,wp中的编辑器ID是"content" var editor = tinymce.get('content'); //获取编辑器内容 var content = ...

  8. RS报表从按月图表追溯到按日报表

    相信很多COGNOS开发人员看到这个标题就会感觉很轻松,追溯无非是COGNOS自带的一个下钻的功能,但是这里却是固定的条件: 要求1:A报表显示按月的图表B报表显示按日的明细 2:追溯到B的时候B的开 ...

  9. [Firebase] 2. Firebase Event Handling

    /** * Created by Answer1215 on 11/9/2014. */ var app = angular.module('app', ['firebase']); app.cons ...

  10. Android系统源码学习步骤

    Android系统是基于Linux内核来开发的,在分析它在运行时库层的源代码时,我们会经常碰到诸如管道(pipe).套接字(socket)和虚拟文件系统(VFS)等知识. 此外,Android系统还在 ...