首页 > 其他分享 >Spring 事务

Spring 事务

时间:2023-09-11 20:58:50浏览次数:35  
标签:事务 Spring 房子 Propagation 租房子 一起

Spring 事务实现方式有哪些

编程式

  • 优点:灵活
  • 缺点:麻烦,难以维护

声明式

  • 加注解
  • Spring的事务管理有什么优点
    • 支持声明式事务管理
    • 提供跨不同事务api的一致事务模型

传播规则

image-20230911202739819
借用 别人的的图片方便记忆
a
支持当前事务的“女生”,这里的事务指的是“房子”,它分为 3 种(普通型女生):

  • Propagation.REQUIRED(需要有房子):有房子了咱们一起住,没房子了咱们一起赚钱买房子。
  • Propagation.SUPPORTS(可以有房子):有房子了就一起住,没房子了咱们就一起租房子。
  • Propagation.MANDATORY(强制有房子):有房子了就一起住,没房子了就分手。

不支持当前事务的“女生”也分为 3 种(强势型或者叫事业型):

  • Propagation.REQUIRES_NEW:不要你的房子,必须一起赚钱买房子。
  • Propagation.NOT_SUPPORTED:不要你的房子,必须一起租房子。
  • Propagation.NEVER:必须一起租房子,你有房子就分手。

最后一种是嵌套性事务 Propagation.NESTED,它属于懂事型女友,如果有房子了就以房子为基础做点小生意,卖个花生、水果啥的,如果买卖成了,那就继续发展;如果失败了,至少还有房子;如果没房子也没关系,一起赚钱买房子。

标签:事务,Spring,房子,Propagation,租房子,一起
From: https://www.cnblogs.com/xiuer211/p/17694451.html

相关文章

  • SSM SpringBoot vue快递柜管理系统
    SSMSpringBootvue快递柜管理系统系统功能登录注册个人中心快递员管理用户信息管理 用户寄件管理配送信息管理寄存信息管理开发环境和技术开发语言:Java使用框架:SSM(Spring+SpringMVC+Mybaits)或SpringBoot前端:vue数据库:Mysql架构:B/S源码类型......
  • Spring中@Autowired、@Qualifier、@Resource、@Primary、@Inject注解的区别
       @Primary注解在Spring框架中用于解决自动装配冲突。当存在多个类型相同的Bean时,如果没有使用@Qualifier注解或者@Qualifier注解没有指定Bean的名称,Spring框架将无法判断应该使用哪个Bean进行注入。此时,可以使用@Primary注解来指定默认的Bean。被@Primary注解的Bean会优......
  • spring和springboot注解的使用
    spring和springboot注解的使用首先看一下ElementType取值范围://用于描述类、接口(包括注解类型)或enum声明TYPE,//用于描述域FIELD,//用于描述方法METHOD,//用于描述参数PARAMETER, //用于描述构造器CONSTRUCTOR,//用于描述局部变量......
  • SpringBoot-Learning系列之Kafka整合
    SpringBoot-Learning系列之Kafka整合本系列是一个独立的SpringBoot学习系列,本着WhatWhyHow的思想去整合Java开发领域各种组件。消息系统主要应用场景流量消峰(秒杀抢购)、应用解耦(核心业务与非核心业务之间的解耦)异步处理、顺序处理实时数据传输管道异构语言架构......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号如......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号......
  • springboot的bean的声明周期
    创建对象属性填充aware接口的对应方法init-method方法(@PostConstruct)initialingBean接口的方法BeanPostProcessor的前置方法BeanPostProcessor的后置方法DisposableBean的distory方法测试对象@ComponentpublicclassTestControllerimplementsBeanNameAware,Initial......
  • [SpringSecurity5.6.2源码分析六]:ChannelProcessingFilter
    1、基础用法• ChannelProcessingFilter是SpringSecurity的第一个过滤器,具体排序规则见FilterComparator,image.png• 主要作用:可限制服务端接受的安全协议,比如说仅支持Https或者Http1.1开启配置类:• 首先我们注册到容器中的WebSecurityConfigurerAdapter是针对于WebSecurity的......
  • Spring Boot配置文件(yaml&properties)总结
    SpringBoot配置文件总结(qq.com)SpringBoot的两种配置文件(qq.com)SpringBoot中提供一个全局的配置文件:application.properties,这个配置文件的作用就是,允许我们通过这个配置文件去修改SpringBoot自动配置的默认值。SpringBoot支持两种格式的配置文件:application.pr......
  • springcloud日常学习
    一、 Ribbon客户端负载均衡1. 负载均衡介绍  ① LB,即负载均衡(LoadBalance),负载均衡是微服务架构中经常使用的一种技术。负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,简单的说就是将用户的请求平摊的分配到多个服务上,从而实现系统的高可用性集群。......