• Spring注解之 Transactional


    @Transcational 用于事务回滚

    @Transcational属性如下:

    属性 类型 描述
    value String 可选的限定描述符,制定使用的事务管理器
    propogation enum:Propogation 可选的事务传播行为设置
    isolate enum:Isolation 可选的事务隔离级别设置
    readOnly boolean 读写或只读事务,默认读写
    timeout int(in seconds granularity) 事务超时时间设置
    rollbackFor Class对象数组,必须继承自Throwable 导致事务回滚的异常数组
    rollbackForClassName 类名数组,必须继承自Throwable 导致事务回滚的异常类数组
    noRollBackFor Class对象数组,必须继承自Throwable 不会导致事务回滚混的异常类数组
    noRollbackForClassName 类名数组,必须继承自Throwable 不会导致事务回滚的异常类名字数组

    用法

    @Transactional 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。

    虽然 @Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。另外, @Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。如果你在 protected、private 或者默认可见性的方法上使用 @Transactional 注解,这将被忽略,也不会抛出任何异常。

     1 @Transactional(readOnly = true)
     2 public class DefaultFooService implements FooService {
     3  
     4   public Foo getFoo(String fooName) {
     5     // do something
     6   }
     7  
     8   // these settings have precedence for this method
     9   //方法上注解属性会覆盖类注解上的相同属性
    10   @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
    11   public void updateFoo(Foo foo) {
    12     // do something
    13   }
    14 }

    参考网址:https://www.cnblogs.com/yepei/p/4716112.html

  • 相关阅读:
    01 HTTP协议_servlet基础
    JS 08表单操作_表单域
    09 多态
    JS 07 Dom
    JS 06 bom 框窗_页面_定时任务
    JS 05 json
    08 包_继承
    JS 04 Date_Math_String_Object
    【Java每日一题】20161018
    【Java每日一题】20161017
  • 原文地址:https://www.cnblogs.com/fpqi/p/9604554.html
Copyright © 2020-2023  润新知