首页 > 其他分享 >如何让@Transactional注解方法被无注解的方法调用时使事务生效

如何让@Transactional注解方法被无注解的方法调用时使事务生效

时间:2023-12-14 22:34:33浏览次数:31  
标签:调用 import Transactional springframework org 注解 时使

Java-如何让@Transactional注解方法被无注解的方法调用时使事务生效

问题

在springboot项目中,同一个类中,无@Transaction注解的方法调用另一个有@Transaction注解的方法,该如何让事务生效?

解法

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class TransactionalService {

    @Autowired
    private ApplicationContext applicationContext;

    public void outerMethod() {
        // 通过 applicationContext 获取代理对象后调用
        TransactionalService proxy = applicationContext.getBean(TransactionalService.class);
        proxy.innerMethod();
    }

    @Transactional
    public void innerMethod() {
        // 业务逻辑
    }
}

标签:调用,import,Transactional,springframework,org,注解,时使
From: https://www.cnblogs.com/anhaoyang/p/how-to-make-the-transactions-annotation-method-takes-e

相关文章

  • Spring-第四章:Spring注解配置
    四、Spring注解配置1、IoC注解1.1常用注解1.2数据装配1.3其他bean的引用1.4集合的装配1.5生命周期1.6实例化时机&scope作用域2、AOP注解......
  • SpringBoot中@Transactional失效场景
    一、背景:1、需求  定时器需要定时到“消息通知表”中获取“消息反馈表”中不存在的数据,遍历这些数据,并对每一条数据发起流程,不管发起成功与否都需要往消息反馈表中插入一条该数据的发起结果,若发起成功还需要往“核查案件表”中插入一条该案件的主表数据2、问题:  发现在发......
  • 大公司为什么禁止在SpringBoot项目中使用@Autowired注解?
    Spring官方已不推荐使用Autowired字段/属性注入bean,一些大公司的新项目也明令禁止使用了。所以今天就来跟你们讲下spring框架可以使用的不同类型的依赖注入,以及每种依赖注入的适用情况。一、依赖注入的类型尽管针对springframerwork5.1.3的文档只定义了两种主要的依赖......
  • MybatisPlus中@TebleField注解的使用
    我们使用MybatisPlus框架操作数据库,一般有两种方式:一种是比较传统的方式,自己写Mapper.xml文件和SQL语句来操作数据库;另一种是使用MybatisPlus框架提供的BaseMapper或者IService接口中提供的增删改查方法。如果使用MybatisPlus中提供的BaseMapper和IService接口中的方法,就需要定......
  • Guava的注解处理机制
    第1章:引言Guava不仅仅是一个工具库,它更像是Java程序员的瑞士军刀,提供了一系列强大的功能,从集合操作到函数式编程,再到今天咱们要深入探讨的——注解处理机制。注解(Annotations),在Java世界里,它们就像是给代码加的小便签,既能标记信息,又能影响程序的运行。Guava对注解处理的方式,不仅......
  • easyYapi 简单使用 ,一次只导出一个方法,swagger 注解生效,md 文档
    easyYapi简单使用,一次只导出一个方法,swagger注解生效,md文档有时候开放平台需要写文档,这个时候给yapi和swagger就不太友好,导出md,在导入smartdoc或者自己的md线上,其他3方的文档库语雀啥的就会好很多。1.第一步安装idea插件4.设置配置信息3.swagger......
  • 列举不少于5个springMVC的常用的注解,并说明注解的作用
    列举不少于5个springMVC的常用的注解,并说明注解的作用;SpringMVC中有许多注解用于简化和增强控制器、请求映射、数据绑定等方面的操作。以下是不少于5个常用的SpringMVC注解及其作用:@Controller:作用:用于标识一个类是SpringMVC中的控制器,它处理客户端的请求。被注解为@......
  • 服务消费者整合 OpenFeign ===> 启动类中要添加 @EnableFeignClients 注解
    服务消费者整合OpenFeign===>启动类中要添加@EnableFeignClients注解packagecom.llq.springcloud;@SpringBootApplication(exclude=DataSourceAutoConfiguration.class)@EnableDiscoveryClient//启用服务发现@EnableFeignClientspublicclassMemberNacosConsume......
  • Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第五章、JSP模板集成5.1引入JSP依赖<!--引入jsp解析依赖--><!--C标签库--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></depen......
  • 后处理器ConfigurationClassPostProcessor如何解析注解
    以上就是ConfigurationClassPostProcessor解析配置类的主要流程,我们可以看到解析的入口依然是AbstractApplicationContext的refresh核心方法。ConfigurationClassPostProcessor接口实现了BeanDefinitionRegistryPostProcessor(BeanFactory的后处理器),PriorityOrdered(设置自己的......