spring中的注解事务演示和添加步骤详情

目录
  • 添加注解效果事务演示
  • 基于注解的事务添加步骤
  • 添加不回滚属性设置
  • @Transactional注解参数详解

添加注解效果事务演示

注解我们经常会用到,或者在jdk源码中也会看到,例如: @Deprecated
以及我们在spring或者springboot中经常用到@Controller、@Service、@Repository、@Entity等注解。

基于注解的事务添加步骤

1)在applicationContext_service.xml文件中添加事务管理器

  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!--因为事务必须关联数据库处理,所以要配置数据源-->
        <property name="dataSource" ref="dataSource"></property>
     </bean>

2)在applicationContext_service.xml文件中添加事务的注解驱动

 <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

3)在业务逻辑的实现类上添加注解@Transactional(propagation = Propagation.REQUIRED)
REQUIRED表示增删改操作时必须添加的事务传播特性

添加不回滚属性设置

@Transactional注解参数详解

 @Transactional(propagation = Propagation.REQUIRED,//事务的传播特性
            noRollbackForClassName = "ArithmeticException", //指定发生什么异常不回滚,使用的是异常的名称
            noRollbackFor = ArithmeticException.class,//指定发生什么异常不回滚,使用的是异常的类型
            rollbackForClassName = "",//指定发生什么异常必须回滚
            rollbackFor = ArithmeticException.class,//指定发生什么异常必须回滚
            timeout = -1, //连接超时设置,默认值是-1,表示永不超时
            readOnly = false, //默认是false,如果是查询操作,必须设置为true.
            isolation = Isolation.DEFAULT//使用数据库自已的隔离级别        
    )

到此这篇关于spring中的注解事务演示和添加步骤详情的文章就介绍到这了,更多相关spring注解事务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • spring boot基于注解的声明式事务配置详解

    事务配置 1.配置方式一 1)开启spring事务管理,在spring boot启动类添加注解@EnableTransactionManagement(proxyTargetClass = true):等同于xml配置方式的 <tx:annotation-driven />(注意:1项目中只需配置一次,2需要配置proxyTargetClass = true) 2)在项目中需要添加事务的类或方法上添加注解@Transactional(建议添加在方法上),一般使用默认属性即可,若要使用事务各属性

  • SpringBoot 注解事务声明式事务的方式

    springboot 对新人来说可能上手比springmvc要快,但是对于各位从springmvc转战到springboot的话,有些地方还需要适应下,尤其是xml配置.我个人是比较喜欢注解➕xml是因为看着方便,查找方便,清晰明了.但是xml完全可以使用注解代替,今天就扒一扒springboot中事务使用注解的玩法. springboot的事务也主要分为两大类,一是xml声明式事务,二是注解事务,注解事务也可以实现类似声明式事务的方法,关于注解声明式事务,目前网上搜索不到合适的资料,所以在这里

  • spring 中事务注解@Transactional与trycatch的使用

    spring事务注解@Transactional与trycatch 在项目中 @service层中 我们会经常在做一些增删改操作的方法上看到 spring 的事务注解 @transaction 已知@transaction 是让spring 帮我们实现事务的控制. 但是在项目中会经常看到 有的方法中 会存在trycatch块包括的方法上注解着@transaction eg: @Override @Transactional public Json addOrder(TOrderAddReq tO

  • Spring事务注解@Transactional失效的八种场景分析

    首先说一下最近自己遇到的一个坑: @Transactional service A(){ try{ insert(); serviceB.update(); }catch(){ throw new RunTimeException(); } } serviceB(){ @Transactional update(){ try{ mapperB.update(); }catch(){ throw new RunTimeException(); } } } mapperB (){ try{ //do

  • spring基于注解配置实现事务控制操作

    目录 spring注解配置实现事务控制 1.导入相关依赖 2.创建spring配置类 3.创建JdbcConfig数据源配置类 4.创建TransactionConfig事务配置类 5.创建jdbcConfig.properties 6.使用事务注解 Spring注解方式的事务实现机制 1.事务的实现机制 AOP动态代理进行方法拦截 事务管理器进行事务提交或回滚 2.注解方式的事务使用注意事项 正确的设置 @Transactional 的 propagation 属性(熟知事务的传播特性) 正确

  • Spring框架 注解配置事务控制的流程

    目录 基于注解的事务控制 1.配置事务管理器 2.在业务层使用@Transactional 注解 3.开启 spring 对注解事务的支持 4.注解扫描器 Spring 注解事务实现机制 1.事务的实现机制 2.注解方式的事务使用注意事项 写在前面:虽然使用注解方式配置事务控制很简单,用起来也很爽,但是在每个方法前都加上@xxx形式的注解,显然并不美观,也不利于代码的规范与维护,所以XML的配置方式是才是重点. 基于注解的事务控制 基于注解配置事务控制,相较XML配置来说更加简单,但仍需要XML

  • 使用SpringBoot注解方式处理事务回滚实现

    我们在SpringBoot和MyBatis整合的时候,需要在SpringBoot中通过注解方式配置事务回滚 1 Pojo类 package com.zxf.domain; import java.util.Date; public class User { private Integer id; private String name; private String pwd; private String head_img; private String phone; private Date

  • Spring声明式事务注解之@EnableTransactionManagement解析

    Spring声明式事务注解之@EnableTransactionManagement 1. 说明 @EnableTransactionManagement声明在主配置类上,表示开启声明式事务,其原理是通过@Import导入TransactionManagementConfigurationSelector组件,然后又通过TransactionManagementConfigurationSelector导入组件AutoProxyRegistrar和ProxyTransactionManageme

  • spring中的注解事务演示和添加步骤详情

    目录 添加注解效果事务演示 基于注解的事务添加步骤 添加不回滚属性设置 @Transactional注解参数详解 添加注解效果事务演示 注解我们经常会用到,或者在jdk源码中也会看到,例如: @Deprecated以及我们在spring或者springboot中经常用到@Controller.@Service.@Repository.@Entity等注解. 基于注解的事务添加步骤 1)在applicationContext_service.xml文件中添加事务管理器 <bean id="t

  • Spring中@Async注解实现异步调详解

    异步调用 在解释异步调用之前,我们先来看同步调用的定义:同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果. 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕,继续执行下面的流程.例如, 在某个调用中,需要顺序调用 A, B, C三个过程方法:如他们都是同步调用,则需要将他们都顺序执行完毕之后,过程才执行完毕: 如B为一个异步的调用方法,则在执行完A之后,调用B,并不等待B完成,而是执行开始调用C,待C执行完毕之后,就意味着这个过程执行完毕了. 概述说明 Sp

  • Spring中异步注解@Async的使用、原理及使用时可能导致的问题及解决方法

    前言 其实最近都在研究事务相关的内容,之所以写这么一篇文章是因为前面写了一篇关于循环依赖的文章: <Spring循环依赖的解决办法,你真的懂了吗> 然后,很多同学碰到了下面这个问题,添加了Spring提供的一个异步注解@Async循环依赖无法被解决了,下面是一些读者的留言跟群里同学碰到的问题: 本着讲一个知识点就要讲明白.讲透彻的原则,我决定单独写一篇这样的文章对@Async这个注解做一下详细的介绍,这个注解带来的问题远远不止循环依赖这么简单,如果对它不够熟悉的话建议慎用. 文章要点 @Asy

  • 关于Spring中声明式事务的使用详解

    目录 一.前言 二.回顾JDBC的数据库事务 三.数据库事务隔离级别 3.1 数据库事务的基本特征 3.2 详解数据库隔离级别 3.2.1 未提交读 3.2.2 读提交 3.2.3 可重复读 3.2.4 串行化 3.2.5 各个隔离级别的总结 四.数据库事务传播行为 五.Spring中的声明式事务的使用 5.1 @Transactional的配置属性 5.2 Spring的事务管理器 5.3 配置事务的传播行为和隔离级别 六.总结 一.前言 在Spring中,数据库事务是通过AOP技术来提供服务

  • 浅谈Spring 中 @EnableXXX 注解的套路

    目录 前言 设计目标 @EnableScheduling (导入一个 @Configuration 类) @EnableTransactionManagement(导入一个 ImportSelector) @EnableAspectJAutoProxy (在 Bean 定义层导入) 结论 前言 在 Spring 框架中有很多实用的功能,不需要写大量的配置代码,只需添加几个注解即可开启. 其中一个重要原因是那些 @EnableXXX 注解,它可以让你通过在配置类加上简单的注解来快速地开启诸如事务管

  • 一文搞懂Spring中的注解与反射

    目录 前言 一.内置(常用)注解 1.1@Overrode 1.2@RequestMapping 1.3@RequestBody 1.4@GetMapping 1.5@PathVariable 1.6@RequestParam 1.7@ComponentScan 1.8@Component 1.9@Service 1.10@Repository 二.元注解 @Target @Retention @Documented @Inherited 三.自定义注解 四.反射机制概述 4.1动态语言与静态语

  • Spring中常用注解的详细介绍

    spring中使用注解时配置文件的写法: <?xml version="1.0" encoding="UTF-8"?> <span style="font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

  • 浅谈Spring中@Import注解的作用和使用

    @Import用来导入@Configuration注解的配置类.声明@Bean注解的bean方法.导入ImportSelector的实现类或导入ImportBeanDefinitionRegistrar的实现类. @Import注解的作用 查看Import注解源码 /** * Indicates one or more {@link Configuration @Configuration} classes to import. * * <p>Provides functionality eq

  • Spring中@DependsOn注解的作用及实现原理解析

    本文给大家讲解Spring中@DependsOn注解的作用及实现原理! 官方文档解释 Beans on which the current bean depends. Any beans specified are guaranteed to be created by the container before this bean. Used infrequently in cases where a bean does not explicitly depend on another thro

随机推荐