首页 > 其他分享 >Spring事务失效

Spring事务失效

时间:2024-05-11 11:54:44浏览次数:19  
标签:事务 Spring 抛出 失效 异常 public

Spring中事务失效的场景有哪些

异常捕获处理,抛出检查异常和非public方法。

异常捕获处理

原因:事务通知只有捉到了目标抛出的异常,才能进行后续的回滚处理,如果目标自己处理掉异常,事务通知无法知悉。
解决:在catch块添加throw new RuntimeException(e)手动抛出。

抛出检查异常

原因:Spring 默认只会回滚非检查异常。
解决:配置rollbackFor属性,@Transactional(rollbackFor=Exception.class)

非public方法

原因:Spring 为方法创建代理、添加事务通知、前提条件都是该方法是public的。
解决:改为public方法。

标签:事务,Spring,抛出,失效,异常,public
From: https://www.cnblogs.com/worshipone/p/18186223

相关文章

  • Spring AOP
    什么是AOP面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取公共模块复用,降低耦合。项目中AOP的用途记录操作日志,缓存,spring实现的事务核心是:使用AOP中的环绕通知@Around+切点表达式pointcut(找到要记录日志,缓存,事务的方法)。通过环绕通知的参数获......
  • 基于spring boot Java的数组转树状结构类
    基于springboot的数组转树状结构类importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.List;importjava.util.function.Function;publicclassArray{private<E,V>VcreateViewObject(Eentity,Class<V>viewObjectClass)thro......
  • Spring中的单例bean
    Spring框架中的单例bean是线程安全的吗?不是线程安全的,当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求对应的业务逻辑(成员方法),如果该处理逻辑中有对该单列状态的修改(体现为该单例的成员属性),则必须考虑线程同步问题。Spring框架并没......
  • Java面试题:Spring Bean线程安全?别担心,只要你不写并发代码就好了!
    Spring中的Bean是否线程安全取决于Bean的作用域(scope)。Spring提供了几种不同的Scope,其中包括Singleton、Prototype、Request、Session、GlobalSession等。 SingletonScope(单例模式)默认情况下,SpringBean是SingletonScope,这意味着在整个应用程序上下文中只有一个实例。......
  • Springboot Data Jdbc中Contains和Containing的用法
    Contains和Containing的用法privateStringtitle;privateList<String>tags;//查询标题包含指定字符串的书籍List<Book>findByTitleContains(Stringtitle);//查询包含指定标签的书籍List<Book>findByTagsContaining(Stringtag);--查询标题包含"Spring"的书......
  • SpringBoot整合Mybatis时mapper文件和xml文件的位置
    xml文件放在resources下看下我的项目目录2.由于放在resurces下就无法扫描到xml文件,所以就需要在配置文件配置--mapper文件位置mybatis.mapper-locations=classpath:mapper/*.xml或mybatis.mapper-locations=classpath:/mapper/*.xmlxml和mapper文件放在一起我的项目......
  • Springboot单机多副本运行,解决端口冲突
    一、代码方式(修改配置类)@BeanpublicWebServerFactoryCustomizer<ConfigurableWebServerFactory>MyCustomizer(){returnnewWebServerFactoryCustomizer<ConfigurableWebServerFactory>(){@Overridepublicvoidcustomize(ConfigurableWebSer......
  • springboot+vue快速部署前后台项目,无需服务器
    问题前言我们都知道,现在的主流开发大多数为,前后端分离,目前流行的框架,大多数是springboot+elementui这些框架,这无疑是给开发部署项目带来了便利,我们后台开发无需关心前端如何部署的,前端同样也无需关系后台如何部署,只需要确认能够访问即可。存在有如下问题:当由于条件有限,我......
  • SpringBoot集成微信APP支付
    目录废话不多说,先上代码上业务代码建议自己也看看官方文档,光C解决不了小问题。懂的吧代码随着微信支付的迭代可能会有啥问题,及时评论!废话不多说,先上代码application-dev.yml#支付pay:#支付回调通知地址notifyUrl:别想C填自己的#微信App支付weChat:别想C......
  • Spring Cloud 部署时如何使用 Kubernetes 作为注册中心和配置中心
    一、SpringCloud支持的常见注册中心和配置中心。SpringCloud自带的注册中心Eureka以及config配置中心Nacos,支持注册中心和配置中心等,可以参考:https://www.cnblogs.com/laoqing/p/17797759.htmlZookeeperConsulEtcdKubernetes,当SpringCloud服务都是通过Kubernetes部......