面试实战 问题三十三 Spring 事务常用注解

面试实战 问题三十三 Spring 事务常用注解

Spring事务常用注解

在Spring框架中,事务管理主要通过声明式事务实现,核心注解如下:

  1. @Transactional

    • 最核心的事务注解,用于方法或类级别
    • 标注后,Spring通过AOP在方法执行前后自动管理事务(开启/提交/回滚)。
    • 可配置属性:
      • propagation:事务传播行为(如REQUIRED/REQUIRES_NEW
      • isolation:事务隔离级别(如READ_COMMITTED
      • rollbackFor:指定触发回滚的异常类型
      • timeout:事务超时时间
    java 复制代码
    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
    public void updateData(Entity entity) {
        // 数据库操作
    }
  2. @EnableTransactionManagement

    • 配置类注解,用于启用Spring的声明式事务管理。
    • 需在Java配置类上添加,替代XML配置:
    java 复制代码
    @Configuration
    @EnableTransactionManagement  // 启用事务管理
    public class AppConfig {
        // 配置数据源和事务管理器
    }

补充说明

  • 编程式事务 :通过TransactionTemplatePlatformTransactionManager手动控制事务(引用[1]),但声明式事务(@Transactional)更常用。
  • 全局事务 :结合@ControllerAdvice(引用[1][2])可统一处理事务中的异常,但事务注解本身仍依赖@Transactional

相关推荐
程序员清风1 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
李广坤2 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
NE_STOP6 小时前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
UrbanJazzerati6 小时前
Vue3 父子组件通信完全指南
前端·面试
UrbanJazzerati6 小时前
Vue 3 纯小白快速入门指南
前端·面试
NAGNIP18 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
NAGNIP18 小时前
一文搞懂激活函数!
算法·面试
前端Hardy1 天前
面试官:JS数组的常用方法有哪些?这篇总结让你面试稳了!
javascript·面试
牛奶1 天前
React 底层原理 & 新特性
前端·react.js·面试
牛奶1 天前
ts随笔:面向对象与高级类型
前端·面试·typescript