首页 > 其他分享 >浅谈@Transactional 注解的使用

浅谈@Transactional 注解的使用

时间:2024-04-19 11:26:49浏览次数:26  
标签:回滚 服务 浅谈 Transactional 注解 方法

在SpringBoot的开发项目中,

在Controller控制层,我们一般只做入参的校验;

在Service服务层,我们把业务逻辑都写在这里,在服务层的方法中,我们会调用其它的服务层接口或者mapper层方法,

所以,需要在服务层的方法上,我们需要增加:

@Transactional(rollbackFor = Exception.class)

添加该注解后,只要服务层的方法中有异常的,所有的操作都会回滚。

需要注意的是:

1、事务方法内部捕捉了异常,没有抛出新的异常,导致事务操作不会进行回滚。

解决方法:在注解后面添加具体回滚的异常类:rollbackFor = Exception.class

2、Transactional注解标必须添加在public方法上,如果不是public方法,@Transactional注解不会起作用。

3、在类内部调用调用类内部@Transactional标注的方法。这种情况下也会导致事务不开启。

 

标签:回滚,服务,浅谈,Transactional,注解,方法
From: https://www.cnblogs.com/heyi-77/p/18145389

相关文章

  • JTCR-枚举、装箱和注解-10
    枚举枚举定义了一个数据类型和该数据类型允许的若干个值,这些值为命名常量。一个枚举实例的值必须是定义的值。Java中,枚举是类类型,可以有构造器、方法和实例变量,甚至实现接口。但不能使用new实例化。enumName{value1,value2,...}//定义Namen=Name.value1;//......
  • 浅谈关于openGauss的相关理论
    浅谈关于openGauss的相关理论概述openGauss是一款开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性。openGauss内核早期源自开源数据库PostgreSQL9.2,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进......
  • 界面控件DevExpress Blazor UI v23.2 - 浅谈增强的可访问性
    DevExpress BlazorUI组件库提供了一套全面的原生Blazor组件(包括DataGrid、PivotGrid、调度程序、图表、数据编辑器和报表),使用C#为BlazorServer和BlazorWebAssembly创建高影响力的用户体验!获取DevExpressv23.2正式版下载DevExpress技术交流群10:532598169      欢迎......
  • 8.集合、泛型、枚举、注解、反射
    第八章【集合、泛型、枚举、注解、反射】一、集合1、概述集合是JavaAPI中提供的一种容器工具,可以用来存储多个数据。集合框架中主要有三个要素组成:接口实现类数据结构集合中不可以存放基本类型集合按照其存储结构可以分为两大类:java.util.Collection 单值存放......
  • 原来Rust的panic也能被捕捉?浅谈Rust的panic机制
    这一系列文章的创作目的主要是帮助我自己深入学习Rust,同时也为已经具备一定Rust编程经验,但还没有深入研究过语言和标准库的朋友提供参考。对于正在入门Rust的同学,我更建议你们看《Rust圣经》或者《TheBook》,而不是这种晦涩难懂的文章。你用过panic!宏吗?在Rust里,panic!宏可以用......
  • 实现自定义注解校验方法参数(AOP+自定义注解+自定义异常+全局异常捕获)
    一、实现目的在编写接口的时候,通常会先对参数进行一次校验,这样业务逻辑代码就略显冗杂,如果可以把校验参数的代码进行统一管理,在方法或者属性上直接添加注解就可以实现参数的校验,就可以提升代码编写的效率。二、实现原理通过自定义注解,注解在入参VO的属性上,设定需要满足的条件,然......
  • @Resource和@Autowired注解
    @Resource和@Autowired注解都是用来实现依赖注入的。只是@AutoWried按bytype自动注入,而@Resource默认按byName自动注入。@Resource有两个重要属性,分别是name和typespring将name属性解析为bean的名字,而type属性则被解析为bean的类型。所以如果使用name属性,则使用byName的自动注......
  • 浅谈数字证书
    浅谈数字证书数字证书一般由认证机构服务者签发,也就是常说的CA机构(CertificateAuthority,证书授权),所以数字证书,也叫CA证书。数字证书格式(包含的内容)数字证书的格式普遍采用的是X.509V3国际标准,一个标准的X.509数字证书包含以下一些内容:证书的版本信息;证书的序列号,每......
  • 通过JPA注解获取某个类主键字段
    123456789101112131415161718public StringgetPkColumn(StringclassName){    StringpkColumn= null;    try {        Classclazz=Class.forName(className);        Field[]fields=clazz.getDeclaredFiel......
  • 采用自定义注解 和 AOP 完成日志记录
    1、声明一个自定义注解@Retention注解包含一个RetentionPolicy类型的属性value,用于指定注解的保留策略,常用的保留策略包括:RetentionPolicy.SOURCE:表示注解仅在源代码中保留,编译器编译时会将其忽略,不会保存在编译后的字节码中。RetentionPolicy.CLASS:表示注解在编译后的......