首页 > 其他分享 >【spring笔记】Spring声明事务

【spring笔记】Spring声明事务

时间:2023-02-28 11:23:42浏览次数:27  
标签:Spring spring 事物 编程 笔记 AOP 声明

前情提要:事物在Mysql数据库中已经学过,具有ACID的特性

1、Spring事物管理分为两类:

声明式事物:AOP
编程式事物:需要在代码中,进行事物的管理

编程式事物还是没有AOP的统一处理的优势

1.1、以AOP配置事物的方式:

官网原话: 要开启 Spring 的事务处理功能,在 Spring 的配置文件中创建一个 DataSourceTransactionManager 对象:


<!--配置声明式事物-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <constructor-arg ref="dataSource" />
</bean>

然后配置AOP中的通知,针对事物的,这里Spring帮忙给写好了,就不需要再写切面类了,这里可以定义什么方法会有事物参与。

<tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!--给哪些方法配置事物-->
        <!--配置事物的传播特性:propagation(默认是REQUIRED,没有事物就添加事物) -->
        <tx:attributes>
                <!--<tx:method name="add" propagation="REQUIRED"/>
                <tx:method name="del"/>
                <tx:method name="update"/>
                <tx:method name="query"/>-->
                <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
</tx:advice>

配置事物的切入点

<!--配置事物切入-->
<aop:config>
        <aop:pointcut id="txPointCut" expression="execution(* com.wcy.mapper.*.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/>
</aop:config>

这样就可以实现针对于所有方法进行事物处理。

注:事物的传播特性有以下几个,就是遇到各种情况怎么处理事物,加还是不加,默认就是 REQUIRED

标签:Spring,spring,事物,编程,笔记,AOP,声明
From: https://www.cnblogs.com/wcyblogs/p/17163343.html

相关文章

  • 【spring笔记】Mybaties入门
    1、官方文档https://mybatis.org/mybatis-3/zh/getting-started.html2、搭建一个Mybatis实例2.1首先看配置文件mybatis-config.xml这里面包括获取数据库连接实例的数......
  • matlab 学习笔记1
    demohelp//显示帮助文档helpx//显示x的用法x可以是运算符或者函数.*//点乘......//续行a=[1,2]//定义向量a*^b//点乘的乘幂a\b//左除//aboutvectorsA=[1,2......
  • springboot处理乱码问题原理
    我们在用spring-springmvc时,需要配置一个过滤器 CharacterEncodingFilterCharacterEncodingFilterfilter=newOrderedCharacterEncodingFilter();filter.setEncodin......
  • Java学习笔记12
    正则表达式1.概述​ 在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字......
  • 基础Java学习笔记(一)
    学习笔记01两年前学的Java,现在已经忘得差不多了,跟着狂神说Java的视频从头开始学,希望能救一救ww一、JDKJREJVM1.JDKjavadevelopmentkit2.JREjavaRuntimeEnvir......
  • 学习springCloud的配置之Swagger的配置
    文章来源于:https://www.bbsmax.com/A/1O5E3VP4z7/本文仅做学习记录用途SpringCloud配置中心采用数据库存储配置内容转自:SpringCloudConfig采用数据库存储配置内容【......
  • excel使用笔记
    excel在办公中必不可少,熟练使用对工作帮助很大。文章目录​​打开多个excel文档慢​​​​选择​​​​选择整个范围​​​​选取有数据的整个范围​​​​选中到底部​​​......
  • springboot集成easyexcel(阿里)
    poi比较占用内存。easyexcel性能优化不少,值得一看。pom.xml中添加:<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</......
  • #yyds干货盘点 react笔记之引入FontAwesome
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • maven报错笔记
    文章目录​​wascachedinthelocalrepository​​​​dependencies.dependency.version'fororg.springframework:springloaded:jarismissing​​​​Failedtoclea......