zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    6-Python爬虫-分布式爬虫/Redis
    ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
    Intellij Idea webstorm 激活
    Intellij Idea 配置jdk
    java 获取(格式化)日期格式
    js 跳转 XSS漏洞 预防
    CSS去掉背景颜色
    js对象无法当成参数传递 解决方法
    Elasticsearch java api
    java多条件查询SQL语句拼接的小技巧
  • 原文地址:https://www.cnblogs.com/userrain/p/5447887.html
Copyright © 2011-2022 走看看