Spring初学之spring的事务管理xml

所有的java类都是用的上一篇文章:Spring初学之spring的事务管理

不同的是,这时xml配置事务,所以就要把java类中的那些关于spring的注解都删掉,然后在xml中配置,ApplicationContext.xml如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:tx="http://www.springframework.org/schema/tx"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6     xmlns:aop="http://www.springframework.org/schema/aop"
 7     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 8         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
 9         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
10         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
11
12     <!-- 导入资源文件 -->
13     <context:property-placeholder location="classpath:jdbc.properties"/>
14
15     <!-- 配置c3p0数据源 -->
16     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
17         <property name="user" value="${user}"></property>
18         <property name="password" value="${password}"></property>
19         <property name="driverClass" value="${driverClass}"></property>
20         <property name="jdbcUrl" value="${jdbcUrl}"></property>
21
22         <property name="initialPoolSize" value="${initPoolSize}"></property>
23         <property name="maxPoolSize" value="${maxPoolSize}"></property>
24     </bean>
25
26     <!-- 配置spring 的JdbcTemplate -->
27     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
28         <property name="dataSource" ref="dataSource"></property>
29     </bean>
30
31     <bean id="bookShopDao" class="spring.tx.xml.BookShopDaoImp">
32         <property name="jdbcTemplate" ref="jdbcTemplate"></property>
33     </bean>
34
35     <bean id="bookShopService" class="spring.tx.xml.BookShopServiceImpl">
36         <property name="bookShopDao" ref="bookShopDao"></property>
37     </bean>
38
39     <bean id="cashier" class="spring.tx.xml.CashierImpl">
40         <property name="bookShopService" ref="bookShopService"></property>
41     </bean>
42
43     <!-- 配置事务管理器 -->
44     <bean id="transactionManager"
45         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
46             <property name="dataSource" ref="dataSource"></property>
47     </bean>
48
49     <!-- 配置事务属性 -->
50     <tx:advice id="txAdvice" transaction-manager="transactionManager">
51         <tx:attributes>
52             <tx:method name="*" />
53         </tx:attributes>
54     </tx:advice>
55
56     <!-- 配置事务切入点,并把事务切入点与事务属性关联起来 -->
57     <aop:config>
58         <aop:pointcut expression="execution(* spring.tx.xml.BookShopService.*(..))" id="txPointcut"/>
59
60         <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
61     </aop:config>
62
63 </beans>

applicationContext.xml

时间: 2024-12-25 13:52:06

Spring初学之spring的事务管理xml的相关文章

spring boot配置mybatis和事务管理

spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spring Boot 启动父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

Spring 使用注解方式进行事务管理

使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation

Spring中实现多数据源事务管理

Spring中实现多数据源事务管理 前言 由于项目中引入了多个数据源,并且需要对多个数据源进行写操作,那么多数据源的事务管理自然成了不可避免的问题,这也让我对@Transactional注解有了进一步的理解(但实际上也并不是非常深入) 然而这是一个演进的过程,刚开始项目中并没有使用@Transactional指定具体的TransactionManager,所以新增一个数据源后,对原有的事务产生了影响了,这也是偶尔在一次测试报错而结果没有回滚之后才发现的,遂对于@Transactional注解的一

【转】Spring 使用注解方式进行事务管理

Spring 使用注解方式进行事务管理 原文链接 http://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html#top 使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i

Spring初学之spring的事务管理注解

spring的事务管理,本文的例子是:比如你需要网购一本书,卖书的那一方有库存量以及书的价格,你有账户余额.回想我们在编程中要实现买书这样的功能,由于你的账户表和书的库存量表肯定不是同一张数据库表,所以必定会有一个先后,要么先将账户余额扣除书的价格,紧接着将书的库存量减一,要么反过来.那么问题来了,假如我们先将你的账户余额减掉,然后发现书的库存不足,这时怎么办呢,这就需要事务了,当我们发现书的库存不足时就要回滚事务,将你的余额返回去.只要配置了事务,发生了异常,就回滚.这就是事务的回滚.注:新人

SSM框架中使用Spring的@Transactional注解进行事务管理

一 介绍 在企业级应用中,保护数据的完整性是非常重要的一件事.因此不管应用的性能是多么的高.界面是多么的好看,如果在转账的过程中出现了意外导致用户的账号金额发生错误,那么这样的应用程序也是不可接受的 数据库的事务管理可以有效地保护数据的完整性(PS:关于数据库的事务管理基础可以参考我以前写过的这篇文章:http://www.zifangsky.cn/385.html),但是原生态的事务操作需要写不少的代码,无疑是非常麻烦的.在使用了Spring框架的应用中,我们可以使用@Transactiona

spring+mybatis之声明式事务管理初识(小实例)

前几篇的文章都只是初步学习spring和mybatis框架,所写的实例也都非常简单,所进行的数据访问控制也都很简单,没有加入事务管理.这篇文章将初步接触事务管理. 1.事务管理 理解事务管理之前,先通过一个例子讲一下什么是事务管理:取钱. 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是要么都执行要么都不执行.如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元:如果银行卡扣钱失败但是ATM却出

spring实现一个简单的事务管理

前两天给公司的数据库操作加了事务管理,今天博客就更一下这个吧. 先说明:本文只是简单得实现一下事务,事务的具体内容,比如事务的等级,事务的具体实现原理等等... 菜鸟水平有限,暂时还更不了这个,以后的博客可能会涉及. 如果您看完本博客之后能简单的实现一个事务,本文目的就达到了. 首先简单通俗的解释一下啥叫事务: 在一个方法里的所有操作数据库的语句,要么全部执行(方法没有报错),要么全部不执行(方法抛错,已经执行的语句回滚). xml形式实现事务,也是我在公司代码中实现的事务.他的好处是不用对现有

Spring in action读书笔记-事务管理

在软件开发领域,全有全无的操作被称为事务 事务的四个特性(ACID): 原子性(Atomtic):事务是由一个或多个活动所组成的一个工作单元,要么全部发生,要么全部不发生. 一致性(Consistent):一旦事务完成,系统应确保它所建的业务处于一致的状态. 隔离性(Isolated):事务允许多个用户操作同样的数据,但不能相互影响. 持久性(Durable):事务的结果应该存到数据库或者其他形式的持久化存储中. spring对事务管理的支持: 编码式:允许用户在代码中精确定义事务的边界 声明式