Spring声明式事务(Spring学习笔记十三)

news2024/12/23 9:10:58

        不推荐使用编程式事务 

在Spring-dao.xml中配置声明式事务

   <!--配置声明式事务    -->
    <!--获得transactionManager然后把他丢给他的构造器   constructor-arg -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <constructor-arg ref="dataSource"/>
    </bean>

 结合aop实现事务的织入 分两步

        第一步:
 <!--1、配置事务通知
     事务式tx:开头   需要先导入事务的约束文件    xmlns:tx="http://www.springframework.org/schema/tx"
        http://www.springframework.org/schema/tx
		https://www.springframework.org/schema/tx/spring-tx.xsd
        和导入aop的约束一样的就是把sop改成tx
     -->
    <!--id=接你想给这个事务通知取什么名字    transaction-manager=是spring提供的唯一的事务管理器,这一句语句是固定的 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <!--给那些方法配置事务 就是name=后面接方法名  也口语直接接 * 给所有的方法配置事务-->
    <!--配置事务的传播特性    增删改需要配置 propagation= 默认的为REQUIRED  我们一般也设置为这个   查询的话我们用可以改成read-only="true"
     只读的意思 -->
        <tx:attributes>
            <tx:method name="add" propagation="REQUIRED"/>
            <tx:method name="delete" propagation="REQUIRED"/>
            <tx:method name="update" propagation="REQUIRED"/>
            <tx:method name="query" read-only="true"/>
        <!--一般情况我们可以简单的写成下面这样    让所有的方法都支出事务        -->
            <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>
         第二步:
<!--配置事务通知完成后开始第二步 配置aop切入    -->
    <aop:config >
    <!--设置切入点   -->
        <aop:pointcut id="txPoint" expression="execution(* com.li.dao.*.*(..))"/>
    <!--给表达式下面的所有包织入事务将txAdvice切入到txPoint-->
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
    </aop:config>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1579692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网站压力测试和Locust

一、压力测试介绍 网站压力测试是一种评估网站性能、可靠性和稳定性的方法。它通过模拟大量用户同时访问网站,来测试网站的响应时间、吞吐量、资源利用率等指标,从而发现网站的潜在问题和瓶颈。下面我将从几个方面详细介绍网站压力测试: 1、压力测试的目的 评估网站在高并发…

Midjourney该怎么用?从零基础到落地实践

前言 从注册登录到基本的操作界面&#xff0c;提示词组成后缀介绍&#xff0c;到主流的生成图片的方式&#xff0c;以及最重要的提示词咒语分享&#xff0c;还有一些我的使用心得&#xff0c;希望对大家有帮助&#xff01; 喜欢的话欢迎关注我&#xff0c;欢迎点赞收藏评论&am…

如何运用工业智能网关将数据上传到设备数字化平台

在数字化浪潮的推动下&#xff0c;工业领域正迎来前所未有的变革。工业智能网关作为连接物理世界与数字世界的桥梁&#xff0c;其在数据采集、传输和处理方面发挥着不可或缺的作用。而HiWoo Cloud平台&#xff0c;正是利用工业智能网关&#xff0c;实现设备数据数字化管理的强大…

RTThread studio 驱动开发

rtthread 驱动开发的两种情况 rtthread studio 自动生成 由 RT Thread Studio 自动生成&#xff0c;无需修改任何文件或者简单定义几个宏即可直接使用的驱动&#xff0c;如 GPIO&#xff0c;UART&#xff0c;I2C&#xff0c;SPI&#xff0c;SDIO 和 ETH 等。 使用 RT-Thread S…

Flowise AI工作流本地部署实战教程

&#x1f9d9;‍♂️ 诸位好&#xff0c;吾乃斜杠君&#xff0c;编程界之翘楚&#xff0c;代码之大师。算法如流水&#xff0c;逻辑如棋局。 &#x1f4dc; 吾之笔记&#xff0c;内含诸般技术之秘诀。吾欲以此笔记&#xff0c;传授编程之道&#xff0c;助汝解技术难题。 &#…

axure谷歌插件(直接下载)

axure谷歌插件 在网上找一个谷歌的axure&#xff0c;不是登陆就是收费&#xff0c;离谱。找了好久才找到这个&#xff0c;我下载保存到网盘了&#xff0c;直接下载就ok&#xff0c;永久无提取码。 下载插件文件&#xff0c;打开开发者模式&#xff0c;直接拖进来就ok。 网盘…

网络安全行业现在还能入吗?

这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来3-5年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏入行业&#xff0c;能享受行业发展红利。…

【Linux 命令】内核、驱动调试手段总结

文章目录 1. printk2. strace3. Itrace4. ptrace5. ftrace6. 动态打印7. perf8. devmem9. demsg参考&#xff1a; 1. printk **printk()**是 Linux 内核中最广为人知的函数之一。它是我们打印消息的标准工具&#xff0c;通常也是追踪和调试的最基本方法。 虽然 printk() 是基…

【网站项目】新冠疫苗预约小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

(学习日记)2024.04.10:UCOSIII第三十八节:事件实验

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Adobe Photoshop 2024 v25.6 (macOS, Windows) - 照片和设计软件

Adobe Photoshop 2024 v25.6 (macOS, Windows) - 照片和设计软件 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Adobe XD …

《C语言深度解剖》(3):探索函数递归、传值、传址调用的奥秘

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《C语言深度解剖》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多数据结构与算法点击专栏链接查看&am…

DC-DC芯片D1509适用于工控主板、TV板卡、安卓主板、车载功放电源等产品方案应用。

一、应用领域 适用于工控主板、TV板卡、安卓主板、车载功放电源等产品方案应用。 二、功能介绍 D1509是芯谷科技推出的一款输入耐压40V、输出电压1.23-37V可调、输出电流最大2.0A的高效率、高精度DC-DC芯片&#xff0c;其输出电压有固定3.3V、5.0V和12.0V的版本&#xff…

Ngnix常用配置及和基本功能讲解

Nginx已经广泛应用于J-one和Jdos的环境部署上&#xff0c;本文对Nginx的常用的配置和基本功能进行讲解&#xff0c;适合Nginx入门学习。 1 核心配置 找到Nginx安装目录下的conf目录下nginx.conf文件&#xff0c;Nginx的基本功能配置是由它提供的。 1.1 配置文件结构 Nginx的…

深入C语言内存:数据在内存中的存储

一、数据类型 1. unsigned&#xff1a;无符号数类型 当一个数是无符号类型时&#xff0c;那么其最高位的1或0&#xff0c;和其它位一样&#xff0c;用来表示该数的大小。 2.signed&#xff1a;有符号数类型 当一个数是有符号类型时&#xff0c;最高数称为“符号位”。符号位为1…

中仕公考:2024山东事业编笔试成绩已出!

2024年山东省事业编笔试成绩查询入口于4约8日已经开放&#xff0c;考生可以登录入口查询笔试成绩。 山东16地市除菏泽以外均有县区参加此次310事业单位统考&#xff0c;成绩查询入口及进面名单等分地市分县区发布&#xff0c;考生可关注报考当地人民政府网站。笔试成绩查询后&…

933.最近的请求次数

题目&#xff1a;写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请你实现 RecentCounter 类&#xff1a; RecentCounter() 初始化计数器&#xff0c;请求数为 0 。int ping(int t) 在时间 t 添加一个新请求&#xff0c;其中 t 表示以毫秒为单位的某个时间&#x…

使用flex布局写6种骰子

使用flex布局写6种骰子&#x1f3b2; 效果图 概述说明 不使用position定位&#xff0c;完全靠flex进行分配位置。 在线查看 点击查看 完整代码 <template><div class"content"><ul class"list"><li class"item" v-fo…

transformer上手(2) —— 注意力机制

自从 2017 年 Google 发布《Attention is All You Need》之后&#xff0c;各种基于 Transformer 的模型和方法层出不穷。尤其是 2018 年&#xff0c;OpenAI 发布的 GPT 和 Google 发布的 BERT 模型在几乎所有 NLP 任务上都取得了远超先前最强基准的性能&#xff0c;将 Transfor…

Linux应用开发(3):Linux时间操作(time、mktime、localtime等)

1. 简述 在Linux系统中&#xff0c;时间操作函数是编程中经常使用的一部分&#xff0c;它们允许程序获取和设置系统时间&#xff0c;以及对时间进行各种处理。以下是一些常用的时间操作函数的详细介绍。 2. 时间操作 &#xff08;1&#xff09;time(): 获取1970年1月1日以来的…