Spring事务常用注解
文章目录
- 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事务常用注解相关推荐
- 声明式事务、Spring 中常用注解、Ajax
五. 声明式事务 编程式事务: 1.1 由程序员编程事务控制代码. 1.2 OpenSessionInView 编程式事务 声明式事务: 先引入依赖 <dependency><gro ...
- Spring-学习笔记04【Spring的常用注解】
Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...
- 近100个Spring/SpringBoot常用注解汇总!
作者 | Guide 来源 | JavaGuide(微信公众号) 毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我 ...
- 接近8000字的Spring/SpringBoot常用注解总结!安排!
文章目录 0.前言 1. `@SpringBootApplication` 2. Spring Bean 相关 2.1. `@Autowired` 2.2. `Component`,`@Reposit ...
- Spring事务及其注解
Spring事务及其注解目录页 Spring事务相关 Spring事务的本质 Spring和事务的关系 Spring事务三要素 Spring事务的注解配置 事务注解的本质 Spring事务的表达方式 ...
- Spring MVC常用注解说明
2019独角兽企业重金招聘Python工程师标准>>> 使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能. 02 之前在使用Struts2实现MV ...
- 40 个 Spring Boot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 作者 | 谭朝红 链接 | ramostear.com 一.Spring Web MVC 与 Spring Bean 注解 Sp ...
- Spring学习总结(2)——Spring的常用注解
2019独角兽企业重金招聘Python工程师标准>>> 本文汇总了Spring的常用注解,以方便大家查询和使用,具体如下: 使用注解之前要开启自动扫描功能 其中base-packag ...
- Spring MVC常用注解,你会几个?
转载自 Spring MVC常用注解,你会几个? 常用注解 Controller 注解一个类表示控制器,Spring MVC会自动扫描标注了这个注解的类. RequestMapping 请求路径映射, ...
最新文章
- Linuxmingl
- bool函数_有趣的函数绝无仅有
- 5G 对无线通讯芯片产业链的影响
- CentOS6下编译安装zabbix_agent3.0客户端
- 修改 mysql 字符集_如何修改MySQL字符集
- web测试的平台的开发
- 在Android界面上显示和获取Logcat日志输出
- 海量数据处理:BitMap
- python偶数个数_python基础
- python3.5中文手册chm_python2.7中文手册.chm
- Java设计模式之模板方法模式
- mysql类exadata功能_查看Exadata的版本
- Clark变换的等幅值变换乘为什么2/3
- 抛开Wintel体系和AA体系
- 全网最最最详细的软件著作权申请步骤
- 前沿Perspective | 空间转录组数据分析方法最新进展
- 麻省理工学院公开课:信号与系统:模拟与数字信号处理 调幅演示
- procmon符号配置
- java 获取wifi_获取wifi列表并连接wifi
- LeetCode680.验证回文字符串(二)