文章目录

  • Spring事务常用注解
    • 1. @EnableTransactionMannagement
      • 1.1 作用
      • 1.2 属性分析
    • 2. @Transactional
      • 2.1 作用
      • 2.2 属性分析
    • 3. @TransactionEventListener
      • 3.1 作用
      • 3.2 属性分析

Spring事务常用注解

1. @EnableTransactionMannagement

1.1 作用

表示spring开启注解事务配置的支持

1.2 属性分析

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(TransactionManagementConfigurationSelector.class)
public @interface EnableTransactionManagement {/*** 指定基于目标类代理还是基于接口代理。* 默认采用JDK官方的基于接口代理。*/boolean proxyTargetClass() default false;/*** 指定事务通知是如何执行的。默认是通过代理方式执行的。* 如果是同一个类中调用的话,请采用AdviceMode.ASPECTJ*/AdviceMode mode() default AdviceMode.PROXY;/*** 指示在特定连接点应用多个通知时事务处理的执行顺序。* 默认值是:最低优先级(Integer.MAX_VALUE)*/int order() default Ordered.LOWEST_PRECEDENCE;
}

2. @Transactional

2.1 作用

spring注解配置事务的核心注解,可以出现在接口、类、方法上接口使用:当前接口的所有实现类中重写接口的方法均有事务支持类上:当前类中的所有方法有事务支持方法上:当前方法有事务支持优先级: 方法>类>接口

2.2 属性分析

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Transactional {/*** 指定事务管理器的唯一标识*/@AliasFor("transactionManager")String value() default "";/*** 指定事务管理器的唯一标识*/@AliasFor("value")String transactionManager() default "";/*** 指定事务的传播行为*/Propagation propagation() default Propagation.REQUIRED;/*** 指定事务的隔离级别*/Isolation isolation() default Isolation.DEFAULT;/** * 指定事务的超时时间*/int timeout() default TransactionDefinition.TIMEOUT_DEFAULT;/*** 指定事务是否只读*/boolean readOnly() default false;/*** 通过指定异常类的字节码,限定事务在特定情况下回滚*/Class<? extends Throwable>[] rollbackFor() default {};/*** 通过指定异常类的全限定类名,限定事务在特定情况下回滚*/String[] rollbackForClassName() default {};/*** 通过指定异常类的字节码,限定事务在特定情况下不回滚*/Class<? extends Throwable>[] noRollbackFor() default {};/*** 通过指定异常类的全限定类名,限定事务在特定情况下不回滚*/String[] noRollbackForClassName() default {};
}

3. @TransactionEventListener

3.1 作用

用于配置事务的监听器,使我们在事务提交和回滚前后可以做一些额外的功能

3.2 属性分析

@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@EventListener
public @interface TransactionalEventListener {/*** 指定事务监听器的执行是在何时。* 取值有:* 事务提交之前* 事务提交之后 默认值* 事务回滚之后* 事务执行完成之后*/TransactionPhase phase() default TransactionPhase.AFTER_COMMIT;/*** 若没有事务的时候,对应的event是否已经执行 默认值为false表示 没事务就不执行了*/boolean fallbackExecution() default false;/*** 指定事件类的字节码*/@AliasFor(annotation = EventListener.class, attribute = "classes")Class<?>[] value() default {};/*** 它和value属性的作用是一样的*/@AliasFor(annotation = EventListener.class, attribute = "classes")Class<?>[] classes() default {};/*** 用于指定执行事件处理器的条件。取值是基于Spring的el表达式编写的。*/String condition() default "";
}

Spring事务常用注解相关推荐

  1. 声明式事务、Spring 中常用注解、Ajax

    五. 声明式事务 编程式事务: 1.1 由程序员编程事务控制代码. 1.2 OpenSessionInView 编程式事务 声明式事务: 先引入依赖 <dependency><gro ...

  2. Spring-学习笔记04【Spring的常用注解】

    Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...

  3. 近100个Spring/SpringBoot常用注解汇总!

    作者 | Guide 来源 | JavaGuide(微信公众号) 毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我 ...

  4. 接近8000字的Spring/SpringBoot常用注解总结!安排!

    文章目录 0.前言 1. `@SpringBootApplication` 2. Spring Bean 相关 2.1. `@Autowired` 2.2. `Component`,`@Reposit ...

  5. Spring事务及其注解

    Spring事务及其注解目录页 Spring事务相关 Spring事务的本质 Spring和事务的关系 Spring事务三要素 Spring事务的注解配置 事务注解的本质 Spring事务的表达方式 ...

  6. Spring MVC常用注解说明

    2019独角兽企业重金招聘Python工程师标准>>>     使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能. 02     之前在使用Struts2实现MV ...

  7. 40 个 Spring Boot 常用注解

    以下文章来源方志朋的博客,回复"666"获面试宝典 作者 | 谭朝红 链接 | ramostear.com 一.Spring Web MVC 与 Spring Bean 注解 Sp ...

  8. Spring学习总结(2)——Spring的常用注解

    2019独角兽企业重金招聘Python工程师标准>>> 本文汇总了Spring的常用注解,以方便大家查询和使用,具体如下: 使用注解之前要开启自动扫描功能 其中base-packag ...

  9. Spring MVC常用注解,你会几个?

    转载自 Spring MVC常用注解,你会几个? 常用注解 Controller 注解一个类表示控制器,Spring MVC会自动扫描标注了这个注解的类. RequestMapping 请求路径映射, ...

最新文章

  1. Linuxmingl
  2. bool函数_有趣的函数绝无仅有
  3. 5G 对无线通讯芯片产业链的影响
  4. CentOS6下编译安装zabbix_agent3.0客户端
  5. 修改 mysql 字符集_如何修改MySQL字符集
  6. web测试的平台的开发
  7. 在Android界面上显示和获取Logcat日志输出
  8. 海量数据处理:BitMap
  9. python偶数个数_python基础
  10. python3.5中文手册chm_python2.7中文手册.chm
  11. Java设计模式之模板方法模式
  12. mysql类exadata功能_查看Exadata的版本
  13. Clark变换的等幅值变换乘为什么2/3
  14. 抛开Wintel体系和AA体系
  15. 全网最最最详细的软件著作权申请步骤
  16. 前沿Perspective | 空间转录组数据分析方法最新进展
  17. 麻省理工学院公开课:信号与系统:模拟与数字信号处理 调幅演示
  18. procmon符号配置
  19. java 获取wifi_获取wifi列表并连接wifi
  20. LeetCode680.验证回文字符串(二)

热门文章

  1. 页面弹窗效果layui里的插件layer
  2. 【Arduino基础】三色LED灯实验
  3. JAVA 基于TCP的多人网络聊天室 实现过程
  4. php的or和,php中OR与
  5. 超全,短视频制作必备工具
  6. 6个变态的C语言Hello World程序 之 雷人的程序语言
  7. 为什么我的进程被kill掉了
  8. 幻灯片中插入视频不能正常播放的问题解决
  9. 【java】jdk8 steam操作
  10. 第三天 Dos命令的学习