spring中的注解@@Transactional失效的场景代码演示

 更新时间:2024年01月13日 09:04:57   作者:java架构师-太阳  
这篇文章主要介绍了spring中的注解@@Transactional失效的场景代码演示,@Transactional注解是Spring框架提供的用于声明事务的注解,作用于类和方法上,需要的朋友可以参考下

spring中的注解@@Transactional失效的场景

1 当方法被标记为@Transactional时,但是该方法是非公有方法时,@Transactional注解会失效。

@Service
public class UserService {
    @Transactional
    private void doSomething() {
        // ...
    }
}

2 当方法被标记为@Transactional时,但是该方法是静态方法时,@Transactional注解会失效。

@Service
public class UserService {
    @Transactional
    public static void doSomething() {
        // ...
    }
}

3 当方法被标记为@Transactional时,但是该方法是被同一个类中的另一个方法调用时,@Transactional注解会失效。

例如:

@Service
public class UserService {
    @Transactional
    public void doSomething() {
        doSomethingElse();
    }

    public void doSomethingElse() {
        // ...
    }
}

4.当方法被标记为@Transactional时,但是该方法是被另一个类中的方法调用时,@Transactional注解会失效。

例如:

@Service
public class UserService {
    @Transactional
    public void doSomething() {
        // ...
    }
}

@Service
public class AnotherService {
    @Autowired
    private UserService userService;

    public void doSomethingElse() {
        userService.doSomething();
    }
}

以上是一些可能导致@Transactional注解失效的场景,需要注意避免。

到此这篇关于spring中的注解@transation失效的场景代码演示的文章就介绍到这了,更多相关spring的@transation失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot+Redisson自定义注解一次解决重复提交问题

    SpringBoot+Redisson自定义注解一次解决重复提交问题

    项目中经常会出现重复提交的问题,本文主要介绍了SpringBoot+Redisson自定义注解一次解决重复提交问题,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • SpringBoot集成内存数据库Derby的实践

    SpringBoot集成内存数据库Derby的实践

    像H2、hsqldb、derby、sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用。最大特点就是不需要你另外安装一个数据库。本文主要介绍了SpringBoot集成内存数据库Derby,感兴趣的可以了解一下
    2021-09-09
  • Java编程之多线程死锁与线程间通信简单实现代码

    Java编程之多线程死锁与线程间通信简单实现代码

    这篇文章主要介绍了Java编程之多线程死锁与线程间通信简单实现代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • SpringMVC使用自定义验证器进行数据验证的方法

    SpringMVC使用自定义验证器进行数据验证的方法

    SpringMVC 提供了强大的数据验证机制,可以方便地验证表单提交的数据,除了自带的验证器之外,SpringMVC 还支持自定义验证器,允许开发者根据业务需求自定义验证规则,本文将介绍如何在 SpringMVC 中使用自定义验证器
    2023-07-07
  • idea启动vue项目教程

    idea启动vue项目教程

    文章介绍了在IDEA中安装Node.js和配置Vue.js插件的步骤,,首先,从Node.js官网下载并安装LTS版本;然后,在打开终端验证安装结果;接着,在IDEA中配置Node.js解释器并重启;最后,在配置运行方式,设置Command和Scripts,保存后点击绿色三角启动
    2026-05-05
  • Spring6 的JdbcTemplate的JDBC模板类的使用介绍(最新推荐)

    Spring6 的JdbcTemplate的JDBC模板类的使用介绍(最新推荐)

    JdbcTemplate 是Spring 提供的一个JDBC模板类,是对JDBC的封装,简化JDBC代码,当然,你也可以不用,可以让Spring集成其它的ORM框架,这篇文章主要介绍了Spring6 的JdbcTemplate的JDBC模板类的详细使用说明,需要的朋友可以参考下
    2024-05-05
  • Spring的@ComponentScan注解用法介绍

    Spring的@ComponentScan注解用法介绍

    这篇文章主要介绍了Spring的@ComponentScan注解用法介绍,@ComponentScan注解一般和@Configuration注解一起使用,主要的作用就是定义包扫描的规则,然后根据定义的规则找出哪些需类需要自动装配到spring的bean容器中,然后交由spring进行统一管理,需要的朋友可以参考下
    2023-11-11
  • Spring框架学习之Cache抽象详解

    Spring框架学习之Cache抽象详解

    这篇文章主要为大家介绍了Spring框架学习中Cache抽象详解示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • java中的取整与四舍五入方法实例

    java中的取整与四舍五入方法实例

    这篇文章主要给大家介绍了关于java中取整与四舍五入的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java Spring框架简介与Spring IOC详解

    Java Spring框架简介与Spring IOC详解

    Spring 框架是一个轻量级的解决方案,可以一站式地构建企业级应用。它是为了解决 企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。IOC 是 Inversion of Control 的缩写,多数书籍翻译成控制反转
    2021-09-09

最新评论