spring--(25)声明式事务
2019独角兽企业重金招聘Python工程师标准>>>
接上篇配置,在com.test.spring.tx包下加入业务接口和类
####业务接口类
public interface BookShopService {public void purchase(int userId,int bookId);
}
####业务实现类,注意添加有事务
package com.test.spring.tx;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Service("bookShopService")
public class BookShopServiceImpl implements BookShopService{@Autowiredprivate BookShopDao bookShopDao;//声明式事务@Transactional@Overridepublic void purchase(int userId, int bookId) {//1.获取书的单价double price = bookShopDao.getBookPriceByBookId(bookId);//2.更新书的数量bookShopDao.updateBookStock(bookId);//3.更新用户余额bookShopDao.updateUserBalance(userId, price);}}
####测试类
package com.test.spring.tx;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestTx {private ApplicationContext ctx;private BookShopService bookShopService;{ctx = new ClassPathXmlApplicationContext("applicationContext.xml");bookShopService = ctx.getBean(BookShopService.class);}@Testpublic void testBookService(){bookShopService.purchase(1000, 1001);}}
####配置文件
<context:component-scan base-package="com.test.spring.tx"></context:component-scan><context:property-placeholder location="classpath:db.properties"/><!-- 配置数据源 --><bean id="dataSources" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="user" value="${jdbc.user}"></property><property name="password" value="${jdbc.password}"></property><property name="driverClass" value="${jdbc.driverClass}"></property><property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property><property name="initialPoolSize" value="${jdbc.initPoolSize}"></property><property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property></bean><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSources"></property></bean><!-- 配置事物管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSources"></property></bean><!-- 启用事物注解 --><tx:annotation-driven transaction-manager="transactionManager"/>
转载于:https://my.oschina.net/u/2312022/blog/742276
spring--(25)声明式事务相关推荐
- (续)SSM整合之spring笔记(声明式事务)(P110-116)
目录 一 .声明式事务概念 二 .基于注解的声明式事务 1 .准备工作 (1)加入依赖 (2)创建jdbc.properties (3)配置Spring的配置文件 tx-annotation. ...
- 【SSM框架系列】Spring - JdbcTemplate声明式事务
JdbcTemplate概述 以往使用jdbc时,每次都需要自己获取PreparedStatement,执行sql语句,关闭连接等操作.操作麻烦冗余,影响编码的效率. Spring把对数据库的操作在j ...
- spring配置c3p0连接池、spring的声明式事务管理
一.spring配置c3p0连接池: 1.导入maven依赖: <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> & ...
- Spring框架声明式事务管理
Spring框架声明式事务管理 底层就是AOP原理,面向切面编程 在不修改源码的情况下,对方法进行增强 Spring框架事务管理相关类和API PlatformTransactionManager 平 ...
- 保护亿万数据安全,Spring有“声明式事务”绝招
摘要:点外卖时,你只需考虑如何拼单:选择出行时,你只用想好目的地:手机支付时,你只需要保证余额充足.但你不知道这些智能的背后,是数以亿计的强大数据的支持,这就是数据库的力量.那么庞大数据的背后一定会牵 ...
- ❤️Spring的声明式事务
❤️Spring的声明式事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性. 事务就是把一系列的动作当成一个独 ...
- 06_02_任务三:Spring JDBCTemplate 声明式事务
任务三:Spring JDBCTemplate & 声明式事务 课程任务主要内容: Spring的JdbcTemplate Spring的事务 Spring集成web环境 一 Spring的J ...
- Spring的声明式事务底层原理
文章目录 声明式事务的概述 声明式事务的初探 声明式事务的源码分析 声明式事务的概述 Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始 ...
- Spring AOP声明式事务
Spring AOP声明式事务 Spring AOP声明式事务 传统spring配置 SpringBoot配置 Spring AOP声明式事务 Spring AOP声明式事务可以帮我们自动管理事务,在 ...
- Spring系列--声明式事务管理
Spring事务管理概述 Spring的事务管理简化了传统的事务管理流程,并且在一定程序上减少了开发者的工作量. 事务管理的核心接口 在Spring的所有JAR包中包含一个名为Spring-tx-5. ...
最新文章
- 自动驾驶十字路口解决方案
- hive函数 get_json_object的使用
- phonegap在android中如何退出程序
- Oracle使用impdb/expdb数据泵导入/导出数据库
- Delphi Menu Designer(菜单设计器)之一
- NLP, 知识图谱参考资源
- nginx优化配置选项
- centos mysql安装
- mysql可以创建多少条数据类型_mysql支持的数据类型
- python自带模块可以控制鼠标吗_python自带模块模拟鼠标和键盘操作
- 集成电路的设计 —— 半导体
- Google Map API在IE6下出错的解决方法
- 手撕Buck!Buck公式推导过程
- 浅谈android应用之编程语言
- sci论文发表的重复率要求低于多少
- Linux系统下制作windows系统安装U盘
- 加州大学洛杉玑分校计算机专业,UCLA的Computer Science「加州大学洛杉矶分校计算机科学系」...
- 【电脑配置图】i3-10100f+1650显卡(2020.11.28)了解
- opc ua与opc da区别_OPC,OPCDA,OPCUA
- 2021-12-21 SWUSTOJ69偷菜时间表(解题思路详解)