`

Transactional 不生效(转)

 
阅读更多
@Transactional 默认是当方法抛出RuntimeException 才会回滚,可以使用
@Transactional(rollbackFor = Exception.class) 指定具体异常时 就回滚
代码:

@Transactional(rollbackFor = Exception.class)
public void testDel() throws Exception {
        Map<String,Object> params = new HashMap<>();     
        if(true){
                throw new Exception("测试");
        }
}
然后在controller 或service 调用该方法时时 去获取异常

try{

testDel()

}catch(){

...

}
分享到:
评论

相关推荐

    Java注解@Transactional事务类内调用不生效问题及解决办法

    Java注解@Transactional事务类内调用不生效问题及解决办法 Java注解@Transactional是Java中的一种注解,主要用于标记事务边界。然而,在某些情况下,@Transactional注解可能不会生效,例如在同一个类中的方法调用...

    Spring3事务管理——使用@Transactional 注解.rar

    - `@Transactional`注解仅在Spring AOP代理能够拦截到的方法上生效,因此,如果在非Spring管理的类或静态方法中使用,事务管理将不起作用。 - 如果事务属性设置不当,可能会导致数据不一致或并发问题,应谨慎调整...

    Spring事务不生效.pdf

    然而,如果在实际开发中不注意一些细节,可能会遇到事务不生效的问题。本文将深入探讨Spring事务失效的常见原因,帮助开发者识别并解决这些问题。 首先,我们要明白Spring事务的工作原理。Spring采用AOP(面向切面...

    什么情况会导致@Transactional事务失效?

    1. **未启用事务管理**:如果你的应用没有配置Spring的事务管理器(如PlatformTransactionManager),或者没有开启AOP代理(例如,使用@Component而不是@Service等),`@Transactional`将无法生效。确保你的配置类...

    Spring @Transactional注解失效解决方案

    Spring @Transactional 注解失效解决方案 ...通过了解 @Transactional 注解的特性和事务传播模式,并遵循解决方案,我们可以解决 @Transactional 注解不回滚的问题,确保事务管理的正确性和可靠性。

    spring @Transactional 无效的解决方案

    当我们在方法 A 上添加 @Transactional 注解时,事务将正常生效,方法 A 和方法 B 将自动参与到同一个事务中。 结论 ---------- 在这篇文章中,我们介绍了 Spring @Transactional 注解无效的问题,并提供了解决...

    解决springboot的aop切面不起作用问题(失效的排查)

    默认情况下,SpringBoot的EnableAspectJAutoProxy是true的,如果我们不确定,可以添加`@EnableAspectJAutoProxy`注解,以便确保AOP切面生效。 ```java @EnableAspectJAutoProxy(proxyTargetClass=true) @SpringBoot...

    详细整理Spring事务失效的具体场景及解决方案.docx

    如果使用@Service 注解注释的类没有被 Spring 容器管理,那么即使方法被@Transactional 注解修饰,事务也不会生效。例如,StudentServiceImpl 类没有被 Spring 容器管理,因此即使方法被@Transactional 注解修饰,...

    transaction.zip

    - 如果在类的内部调用`@Transactional`方法,由于没有经过AOP代理,事务不会生效。通常,这样的调用应避免在事务方法内部进行。 综上所述,`@Transactional`注解是Spring框架中非常实用的特性,它使得事务管理变得...

    请教:spring事务不起作用

    然而,在实际开发中,有时我们可能会遇到"Spring事务不起作用"的问题。这个问题可能是由多种原因引起的,包括但不限于配置错误、事务注解使用不当、事务传播行为理解有误等。下面我们将深入探讨这些可能的原因,并...

    Spring Data JPA系列4——Spring声明式事务处理与多数据源支持.doc

    知道有哪些场景可能会导致@Transactional 注解并不会如你预期的方式生效吗?知道应该怎么使用@Transactional 才能保证对性能的影响最小化吗? 下面,我们将探讨这些问题,并了解 Spring 声明式事务处理机制的实现...

    Spring Boot的事务控制.docx

    - **方法调用限制**:`@Transactional`注解只能应用于公共方法(public),并且方法内部调用自身时,事务可能不会生效。这是因为内部调用不会经过Spring的代理机制,因此不会激活事务管理。 #### 四、示例代码解析 ...

    java-mybatis、springmvc 整合demo源码(druid-demo)

    然而,在实际开发中,我们可能会遇到事务不生效的情况。这通常是因为以下几个原因: 1. 检查事务管理器是否正确配置,例如,`PlatformTransactionManager`类型的bean。 2. 确保@Transactional注解的使用位置正确,...

    spring3 struts2 Mybatis3 组件注解 事务注解 实例

    Spring的`&lt;tx:annotation-driven&gt;`标签启用注解驱动的事务管理,使`@Transactional`生效。Struts2的配置文件需要指定Action类及其结果映射,而Mybatis3的配置则包括数据源、SqlSessionFactory和Mapper扫描。 在业务...

    java事务 - 使用注解

    类级别的注解表示类中所有公共方法都包含在同一个事务中,而方法级别的注解则只对被注解的方法生效。 - **属性**:注解有多个属性,如`value`(指定事务管理器)、`propagation`(事务传播行为)、`isolation`(隔离...

    Spring事务管理失效原因汇总

    也就是说,这些修饰符的方法上不能直接使用@Transactional注解,从而导致事务管理失效。此外,protected方法虽然可以被重写,但在使用AOP配置时也需要进行适当的权限设置才能生效。 在讨论了代理模式、异常分类、...

    Spring 常用 Transaction Annotation

    如果应用于方法,只对被注解的方法生效。注解的属性包括 propagation(事务传播行为),isolation(隔离级别),readOnly(只读事务),timeout(超时时间),rollbackFor(触发回滚的异常类型)等。 - 事务传播...

    springmvc事务配置到controller.zip

    `propagation`属性定义了事务的传播行为,如REQUIRED(默认值,如果存在事务则加入,不存在则新建)、REQUIRES_NEW(总是新建事务,即使在已有事务中调用,也会暂停当前事务并开启新的事务)等。 将事务配置到...

    spring事务总结.docx

    #### 一、事务不生效的原因及解决办法 1. **访问权限问题** - **背景**:在Java中,方法的访问权限有`private`、`default`(包私有)、`protected`和`public`。Spring事务管理器在识别方法级别的事务时,会检查...

Global site tag (gtag.js) - Google Analytics