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

        不推荐使用编程式事务 

在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>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享webgl魔幻星球

界面截图 webgl 是在网页上绘制和渲染三维图形的技术&#xff0c;可以让用户与其进行交互。divcss、canvas 2d 专注于二维图形。 对公司而言&#xff0c;webgl 可以解决他们在三维模型的显示和交互上的问题&#xff1b;对开发者而言&#xff0c;webgl 可以让我们是实现更多、更…

出门一笑, “栈” 落江横 (Java篇)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

nest状态码HttpCode

写法 默认情况下&#xff0c;响应的状态码总是默认为 200&#xff0c;除了 POST 请求&#xff08;默认响应状态码为 201&#xff09;&#xff0c;可以通过在处理函数外添加 HttpCode&#xff08;…&#xff09; 装饰器来轻松更改状态码 src/cats/cats.controller.ts import {…

springboot和vue前后端交互概况

Spring Boot 和 Vue.js 是当前流行的开发技术栈&#xff0c;前者主要用于构建后端服务&#xff0c;后者则主要用于构建前端用户界面。前后端交互主要涉及 API 设计、请求发送和响应处理等方面。以下是一些关于 Spring Boot 和 Vue.js 前后端交互的关键点&#xff1a; 1. API 设…

Java | Leetcode Java题解之第11题盛最多水的容器

题目&#xff1a; 题解&#xff1a; public class Solution {public int maxArea(int[] height) {int l 0, r height.length - 1;int ans 0;while (l < r) {int area Math.min(height[l], height[r]) * (r - l);ans Math.max(ans, area);if (height[l] < height[r]…

QT4 移植 googlepinyin输入法

一.参考资料 谷歌输入法材料清单 二 编译库文件 1.Win a.编译所需要的库文件 打开工程 googlepinyin.pro&#xff0c;编译所需要的库文件&#xff0c;debug 和release都要编译一个。b.命名文件并复制到工程文件夹googlepinyin下 将debug 版本 libgooglepinyin.a 重命名为…

最好用的安卓按钮(3)

属性解释 按钮文字 app:text“床前明月光” 按钮文字颜色 app:textColor“color/color_white” 按钮文字大小 app:textSize“22sp” 按钮背景颜色 app:color_normal“color/color_accent” 0x2 单独设置每个圆角 效果 代码 <top.androidman.SuperButton android:layo…

idea 开发serlvet汽车租赁管理系统idea开发sqlserver数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 汽车租赁管理系统是一套完善的web设计系统sqlserver数据库 系统采用serlvetdaobean mvc 模式开发&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 java se…

Vue input密码输入框自定义密码眼睛icon

我们用的饿了么UI组件库里,密码输入框的icon是固定不变的,如下所示: 点击"眼睛"这个icon不变,现在需求是UI给的设计稿里,密码输入框的"眼睛"有如下两种: 代码如下: <el-input:key="passwordType"ref="password"

基于卷积神经网络的天气识别系统(pytorch框架)【python源码+UI界面+前端界面+功能源码详解】

功能演示&#xff1a; 天气识别系统&#xff0c;vgg16&#xff0c;mobilenet卷积神经网络&#xff08;pytorch框架&#xff09;_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神经网络的天气识别系统是在pytorch框架下实现的&#xff0c;系统中有两个模型可选…

概率论原神版

原概率论教材进行生动修改&#xff0c;插入图画&#xff0c;底部附下载链接 内容与原书保持了一致&#xff0c;增加了可读性 内容十分有趣&#xff0c;学起来也压力很小 下载链接&#xff1a; 链接: https://pan.baidu.com/s/1-KLo0Uxpp9Q9ZChfzEg5kw?pwdgmf6 提取码: gmf…

C#探索之路基础夯实篇(3):面向对象的三大特性和五大原则详解

文章目录 前提&#xff1a;一、特性&#xff1a;二、原则&#xff1a;三、示例1. 单一职责原则 (Single Responsibility Principle, SRP)&#xff1a;2. 开放-封闭原则 (Open-Closed Principle, OCP)&#xff1a;3. 里氏替换原则 (Liskov Substitution Principle, LSP)&#xf…

51单片机实验03-定时器T0来实现流水灯从左到右再从右到左

目录 一、实验目的 二、实验说明 1、51单片机有两个16位内部计数器/定时器&#xff08;C/T&#xff0c; Counter/Timer&#xff09;。 2、模式寄存器TMOD 1) M1M0工作模式控制位&#xff1b; 2) C/T定时器或计数器选择位&#xff1a; 3&#xff09;GATE定时器/计数器运行…

高可用集群-keepalived

一、高可用集群的基本理论 1.基本概念 ①&#xff1a;单点故障&#xff08;Single Point of Failure&#xff09; 硬件故障&#xff1a;设计缺陷、wear out&#xff08;损耗&#xff09;、自然灾害…… 软件故障&#xff1a;设计缺陷 bug ②&#xff1a;健康状态监测 监测手段…

使用 RisingWave、NATS JetStream 和 Superset 进行实时物联网监控

在物联网&#xff08;IoT&#xff09;背景下&#xff0c;处理实时数据会遇到一些特定的障碍&#xff0c;如边缘计算资源不足、网络条件限制、扩展性存在问题、设备间有多样性差异。要克服这些挑战&#xff0c;需要高效的边缘计算技术、强大的安全措施、标准化协议、可扩展的管理…

Pytorch数据结构:GPU加速

文章目录 一、GPU加速1. 检查GPU可用性&#xff1a;2. GPU不可用需要具体查看问题3. 指定设备4.将张量和模型转移到GPU5.执行计算&#xff1a;6.将结果转移回CPU 二、转移原理1. 数据和模型的存储2. 数据传输3. 计算执行4. 设备管理5.小结 三、to方法的参数类型 一、GPU加速 .…

html写一个登录注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册登录界面Ⅰ</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.mi…

GA-SVM,基于GA遗传算法优化SVM支持向量机回归预测(多输入单输出)

基于遗传算法&#xff08;Genetic Algorithm, GA&#xff09;优化支持向量机&#xff08;Support Vector Machine, SVM&#xff09;用于回归预测是一个常见的任务。在这个任务中&#xff0c;我们使用GA来寻找SVM的最佳超参数配置&#xff0c;以最大化回归性能指标&#xff0c;例…

力控机器人原理及力控制实现

力控机器人原理及力控制实现 力控机器人是一种能够感知力量并具有实时控制能力的机器人系统。它们可以在与人类进行精准协作和合作时&#xff0c;将力传感技术&#xff08;Force Sensing Technology&#xff09;和控制算法&#xff08;Control Algorithm&#xff09;结合起来&a…