Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring声明式事物配置

Spring声明式事物配置

作者头像
用户1220053
发布于 2022-01-07 06:42:20
发布于 2022-01-07 06:42:20
30800
代码可运行
举报
文章被收录于专栏:DT乱“码”DT乱“码”
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 对dataSource 数据源进行事务管理 -->
<bean id="transactionManager" 
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager" 
        p:dataSource-ref="dataSource"/>

<!-- 事务通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->
        <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
        <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
        <tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
        <!-- select,count开头的方法,开启只读,提高数据库访问性能 -->
        <tx:method name="select*" read-only="true"/>
        <tx:method name="count*" read-only="true"/>
        <!-- 对其他方法 使用默认的事务管理 -->
        <tx:method name="*"/>
    </tx:attributes>
</tx:advice>

<!-- 事务 aop 配置 -->
<aop:config>
    <aop:pointcut id="serviceMethods" 
        expression="execution(* com.eliteams.quick4j.web.service..*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/>
</aop:config>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
spring事务
Java微观世界
2025/01/20
990
spring事务
Spring 声明式事务常用的二种配置方式
Spring 声明式事务常用的二种配置方式         声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。         显然声明式事务管理要优于编程式事务管理,这正是spr
秋日芒草
2018/05/15
9720
Spring声名式事务控制学习笔记
1、事务的基本要素(ACID) 原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做。 一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。 持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。
咕咕星
2020/12/23
3620
Spring | 聊一聊声明式事务
事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。
啵啵鱼
2022/11/23
2850
spring(3)
不可重复读 :一个事务读到了另一个事务已经提交的 update 的数据导致多次查询结果不一致.
周杰伦本人
2023/10/12
1770
Spring声明式事务管理、事务的传播行为xml配置
1. <tx:method name="insert*" propagation="REQUIRED" />中name的值是ServiceImpl中各个要加入事物管理的方法的方法名。
微风-- 轻许--
2022/04/13
3540
Spring声明式事务管理、事务的传播行为xml配置
spring+mybatis数据源切换【service层以及controller层】
首先是我认为比较好的切换是在service层进行切换,基本思想是利用spring的AbstractRoutingDataSource类进行datasource的选择,就像map的key-value,AbstractRoutingDataSource是有个determineCurrentLookupKey选择datasource的bean进行切换。
全栈程序员站长
2022/06/29
9470
Spring5学习笔记Spring事务处理
我们系统的每个业务方法可能包括了多个原子性的数据库操作,比如下面的 save() 方法中就有两个原子性的数据库操作。这些原子性的数据库操作是有依赖的,它们要么都执行,要不就都不执行。
程序员Leo
2023/09/09
2370
Spring5学习笔记Spring事务处理
Spring框架相关XML配置注解约束汇总
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
多凡
2019/11/01
6640
SSM框架(三)Spring中的声明式事务
事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。
HcodeBlogger
2020/07/14
7550
关于spring和springboot的transactionManager那些事
注解的方式主要是使用tx:annotation-driven实现的,这样在代码里的方法上或类上就可以使用@Transactional注解来灵活地控制事务了。
山行AI
2019/07/12
16.5K0
关于spring和springboot的transactionManager那些事
聊一聊项目中的Spring(execution表达式)
[一知半解,就是给自己挖坑],开篇先补充一下事务的相关知识。 编程式事务 所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务 管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明
小柒2012
2018/04/13
1.4K0
配置文件一applicationContext.xml「建议收藏」
需要引入xmlns:p="http://www.springframework.org/schema/p" p命名空间注入的特点是使用属性而不是子元素的形式配置Bean的属性,从而简化了配置代码。
全栈程序员站长
2022/09/07
5390
SpringBoot中事务配置
做个学习笔记。SpringBoot创建的项目由于不存在xml配置文件了,对于用惯Spring的xml配置事务犯了难,百度了下,大多文章都是用@Transactional对每一个方法或类手动添加任务,这样很麻烦,就自己摸索了下,实现了对指定切点事务的统一添加。有两种方式。PS:启动类,对,就是包含main方法的那个类一定要放在包的最外层,不然有很多坑。包括但不限于不能扫描到你配置的类,连接ES时自定义接口无法自动注入等等。
全栈程序员站长
2022/08/22
4100
SpringBoot中事务配置
【Spring 篇】基于XML的Spring事务控制详解
Spring框架作为Java开发中的瑞士军刀,提供了许多方便而强大的功能,其中之一就是事务管理。事务是数据库操作中的关键概念,它确保一系列操作要么全部成功,要么全部失败。今天我们将深入探讨基于XML配置的Spring事务控制,以帮助那些初学者更好地理解和应用这一关键功能。
繁依Fanyi
2024/01/13
4530
【Spring 篇】基于XML的Spring事务控制详解
Spring学习笔记 事务管理
所谓事务,指的是程序中可运行的不可分割的最小单位。在生活中事务也是随处可见的。比方说你在Steam上剁手买了一款游戏,那么付款就是一个事务,要么付款成功,游戏到手;要么付款失败,钱退回你账户。不可能也绝不应该出现花了钱游戏却没到的情况。所以,事务也应该具有两个操作:成功时候提交,或者失败时候回滚。
乐百川
2022/05/05
4270
Spring的编程式事务和声明式事务
事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性。 Spring事务管理的两种方式 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行
nnngu
2018/04/04
1.8K0
Spring-拾遗
Junit集成 前面多次用到@RunWith与@ContextConfiguration,在测试类添加这两个注解,程序就会自动加载spring配置并初始化Spring容器,方便Junit与Spring集成测试.使用这个功能需要在pom.xml中添加如下依赖: pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.2.0.RE
Java帮帮
2018/03/16
7750
Spring-拾遗
Spring 声明式事务
  Spring 的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,就是指在配置文件中声明。用在 Spring 配置文件中声明式的处理事务来代替代码式的处理事务。这样的好处是,事务管理不侵入开发的组件,具体来说,业务逻辑对象就不会意识到正在事务管理之中,事实上也应该如此,因为事务管理是属于系统层面的服务,而不是业务逻辑的一部分,如果想要改变事务管理策划的话,也只需要在定义文件中重新配置即可;在不需要事务管理的时候,只要在设定文件上修改一下,即可移去事务管理服务,无需改变代码重新编译,这样维护起来极其方便。Spring 使用 AOP 来完成声明式的事务管理,因而声明式事务是以方法为单位,Spring 的事务属性自然就在于描述事务应用至方法上的策略。关于事务的基础知识请移步 ☛ MySQL 事务
Demo_Null
2020/09/28
4530
Spring分布式事务实现
       分布式事务是指操作多个数据库之间的事务,spring的org.springframework.transaction.jta.JtaTransactionManager,提供了分布式事务支持。如果使用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。         在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java Open Transaction Manager )和AtomikosTransactionsEssentials实现,在spring中分布式事务是通过jta(jotm,atomikos)来进行实现。  1、http://jotm.objectweb.org/  2、http://www.atomikos.com/Main/TransactionsEssentials  一、使用JOTM例子 (1) Dao及实现 
阳光岛主
2019/02/19
9430
Spring分布式事务实现
相关推荐
spring事务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验