• Spring @Trancation注解


    Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力。

    @Tranactional注解分析

    • 作用域:Transactional作用于类上表示类上所有的方法使用指定的事务管理策略,作用于方法表示该方法使用指定的事务管理策略;如果方法和类同时定义了@Tranactional注解,那么方法上定义的@Tranactional的属性覆盖类上定义的@Tranactional的属性
    • value: 用于匹配Spring中定义的tranactionManager的名字,默认是Spring中名称为transactionManager的事务管理器
    • propagation:事务传播属性,默认是Propagation.REQUIRED
    • isolation:事务隔离级别,默认是Isolation.DEFAULT,它是指数据库的默认隔离级别
    • timeout:事务超时时间,默认是TransactionDefinition.TIMEOUT_DEFAULT,它是指数据库的默认的事务超时时间
    • readOnly:设置该事务是否是只读事务;默认为false;
    • rollbackFor:用于设定需要进行回滚的异常类数组,默认只对运行时异常RuntimeException进行回滚。

    PS:Spring中的用@Trancational注解标记的方法互相嵌套调用时与是否是同一个线程,同一个类没有关系。只要是Trancational方法,它就会根据propagation属性的值去决定是创建一个新的事务还是加入已存在的事务中。

    具体参考文章:

    http://blog.csdn.net/blueheart20/article/details/44654007

    嵌套的@Trancation参考文章:

    http://www.vito16.com/2015/10/07/spring-transaction-scope-bug.html

    http://stamen.iteye.com/blog/1441794

  • 相关阅读:
    前台提交数据到后台还回错误提示并且把新增页面关掉的问题
    combox二级联动带不出来问题
    数据库设计字段如果首字母是大写
    带图片的修改后台出现的问题
    weblogic启动报错
    强制删除文件夹
    jQuery常用方法
    json数据的转换
    SQL DEFAULT 约束
    SQL CHECK 约束
  • 原文地址:https://www.cnblogs.com/userrain/p/5447887.html
Copyright © 2020-2023  润新知