当前位置: 首页 > 知识库问答 >
问题:

@EnableTransActionManagement在Spring Boot中

翟冷勋
2023-03-14

在Spring Boot中需要@enableTransactionManagement吗?我做了些调查。有些人说你不需要它,因为Spring Boot已经启用了它,其他人说你必须明确地使用它。那怎么样了?

共有1个答案

於彬
2023-03-14

您可能也在使用Spring数据。对Spring数据存储库的调用默认由事务包围,即使没有@enableTransactionManagement。如果Spring Data发现了一个现有事务,则将重新使用现有事务,否则将创建一个新事务。

但是,只有在激活了@enableTransactionManagement(或以其他方式配置了事务处理)时,才会评估自己代码中的@transaction注释。

您可以通过向应用程序添加以下属性来轻松跟踪事务行为。properties:

logging.level.org.springframework.transaction.interceptor=TRACE
 类似资料:
  • 问题内容: 我试图了解在多个JavaConfig上下文中放置注释的正确位置在哪里? 考虑以下情形:我在JPAConfig.java和AppConfig.java中具有服务bean集的JPA配置。然后,在RootConfig.java中编写整个应用程序配置。 我在JPAConfig.java中定义事务管理器,并启用对JPA存储库的扫描- 当这些暴露事务行为时,我将其放到JPAConfig上,并且它可

  • 我正在从XML配置迁移到spring上下文配置。相反,当我试图在spring 4.0.3.Release Java配置上使用功能等价的@EnableTransactionManagement时,我的spring上下文无法实例化,但有以下例外: 这恰好在单元测试中获得,但当它在这里工作时,我可以在生产代码中使用它。 下面是我的单元测试基类,其中发生了spring布线: 下面是使用此基类和配置的子类:

  • 我知道在DispatcherServlet之外使用请求范围bean需要一些配置,并且已经阅读了http://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/beans.html#beans-factory-scopes-oth,但是还没有成功: 对于Servlet3.0+,这可以通过WebApplicationIni

  • 使用的技术: Spring Boot 1.4.2.Release,Spring 4.3.4.Release,Tymeleaf 2.1.5.Release,Tomcat Embeded 8.5.6、Maven 3、Java 8 我创建了这个服务来发送电子邮件

  • 似乎Springboot自动配置自己来使用Tomcat的Logback。我想禁用它,并使用我在类路径中提供的一个。 LoggerFactory不是LoggerContext,但Logback位于类路径上。删除Logback或类[org.slf4j.impl.SimpleLoggerFactory]的竞争实现(类org.slf4j.impl.SimpleLoggerFactory)对象必须是类ch.