首页 > 编程语言 >Java面试题-13Spring

Java面试题-13Spring

时间:2024-04-10 10:56:21浏览次数:13  
标签:面试题 Java 隔离 13Spring 指定 回滚 事务 当前 如果

1、事务管理

spring事务分为编程式事务和声明式事务

Spring事务管理器的行为的重要组成部分。下面是对这些属性的简要解释:

1. **value**:用于指定事务管理器的名称。如果应用中只有一个事务管理器,通常可以省略该属性。

2. **propagation**:指定事务的传播机制,即在多个事务方法相互调用时事务的行为。常用的传播机制包括:
- REQUIRED:如果当前没有事务,就新建一个事务;如果已经存在一个事务中,加入到这个事务中。
- REQUIRES_NEW:每次都新建一个事务,如果当前存在事务,则挂起当前事务。
- SUPPORTS:如果当前有事务,则加入事务;如果当前没有事务,则以非事务的方式执行。
- MANDATORY:必须在一个已有的事务中执行,否则抛出异常。
- NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,则挂起该事务。
- NEVER:以非事务方式执行操作,如果当前存在事务,则抛出异常。
- NESTED:如果当前存在事务,则在嵌套事务内执行;如果当前没有事务,则新建一个事务。

3. **isolation**:指定事务的隔离级别,即多个事务同时执行时各自操作数据的可见性和影响。常用的隔离级别包括:
- DEFAULT:使用数据库默认的隔离级别。
- READ_UNCOMMITTED:最低的隔离级别,允许一个事务读取另一个事务尚未提交的数据。
- READ_COMMITTED:允许一个事务读取另一个事务已经提交的数据,避免了脏读取。
- REPEATABLE_READ:确保一个事务不会读取另一个事务已提交的新数据,防止不可重复读。
- SERIALIZABLE:最高的隔离级别,通过对数据进行锁定来保证事务的完全隔离。

4. **timeout**:指定事务的超时时间,单位为秒。超过该时间限制但事务尚未完成,则自动回滚事务。默认值为-1,表示没有超时限制。

5. **readOnly**:指定事务是否为只读事务。如果设置为 true,表示只读取数据而不进行写操作,可以帮助数据库优化性能。

6. **rollbackFor**:指定需要回滚事务的异常类型。如果方法抛出指定类型的异常,则事务会回滚。

7. **noRollbackFor**:指定不需要回滚事务的异常类型。如果方法抛出指定类型的异常,则事务不会回滚。

这些属性可以根据具体业务需求进行灵活配置,以达到最佳的事务管理效果。

 

 

 

11111

标签:面试题,Java,隔离,13Spring,指定,回滚,事务,当前,如果
From: https://www.cnblogs.com/raorao1994/p/18125571

相关文章

  • java synchronized 还是用redis 锁 java的synchronized的实现原理
    synchronized是同步的意思,在java多线程中,我们一般会考虑共享数据的处理,共享数据的处理包含两块,第一是共享数据,第二是在多线程访问共享数据的时候,如果处理共享数据,保证数据的有效正确性。我们要保证线程A访问共享数据,对数据进行处理的时候,其他线程能够等待线程A访问完毕后,和线程A看......
  • 基于java+springboot+vue实现的农产品智慧物流系统(文末源码+Lw)23-239
    摘 要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用农产品智慧物流系统可以有效管理,使信息管......
  • 基于java+springboot+vue实现的人事管理系统(文末源码+Lw)23-242
    摘 要使用旧方法对人事管理系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在人事管理系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的人事管理系统对字典管理、公告管理、绩效管理、......
  • IDEA打包JavaWeb项目
    1.File->ProjectStructure2.Artifacts->"+"->WebApplicationExploded->FromModules弹框选择对应Module,点击ok3."+"->WebApplicationArchive->For'xxx:warexploded'->最后点击"OK"4.Build->Build......
  • Java 动态代理给对象插入动态属性
    packagecom.gwm.gwmcenterbudget.projectbudget.client.api.dto;importcom.google.common.collect.Maps;importnet.sf.cglib.beans.BeanGenerator;importnet.sf.cglib.beans.BeanMap;importorg.apache.commons.beanutils.PropertyUtilsBean;importorg.slf4j.Logge......
  • 详解Java Chassis 3与Spring Cloud的互操作
    本文分享自华为云社区《JavaChassis3技术解密:与SpringCloud的互操作》,作者:liubao68。JavaChassis3一个很重要的设计原则:利用架构的韧性设计来解决兼容性问题。比如通过引入微服务网关,来解决不同语言、不同框架、遗留系统之间的互操作问题。本文在这个架构原则基础上,讨论......
  • 最短编辑距离(线性dp)-java
    最短编辑问题也是一种非常经典的二维线性dp问题。 文章目录前言一、最短编辑距离问题二、算法思路1.dp[i][j]的情况 2.边界问题初始化3.状态转移方程三、代码如下1.代码如下2.读入数据3.代码运行结果总结前言最短编辑问题也是一种非常经典的二维线性dp问......
  • Java入门基础知识第八课(数组)——冒泡排序、Arrays工具类
    前面二白讲了关于数组的概念、语法以及简单的输入输出,实际上关于数组的知识还有很多,接下来咱们讲一下冒泡排序以及一些常用的Arrays工具类,需要记忆的知识很多,而且容易混淆。一、冒泡排序简介(原理)升序为例:从头开始,每次比较相邻两数小的交换到前面每轮结束后最大的数交换到......
  • 【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)
      ......
  • 棋盘进行黑白染色(java)
    【题目】 有一个n*m的棋盘,现在对这个棋盘进行黑白染色,左上角染成黑色。从左上角开始,每个黑色格的相邻格染成白色,白色格的相邻格染成黑色。以下给出了一个5*7的棋盘的染色示例。给定n和m,请问棋盘上一共有多少方格被染成了黑色。【代码】publicclassTest13{public......