参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html

我们做了相应的修改。在dao中和service中的各个类中,去掉所有注解标签。然后为为每个字段提供一个setXxx()方法

最后就是配置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:aop="http://www.springframework.org/schema/aop"
5 xmlns:context="http://www.springframework.org/schema/context"
6 xmlns:tx="http://www.springframework.org/schema/tx"
7 xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
8 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
9 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
10 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
11
12
13 <!-- 读取db.properties配置信息 -->
14 <context:property-placeholder location="classpath:db.properties"/>
15
16 <!-- 配置一个C3P0数据源 -->
17 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
18 <property name="user" value="${jdbc.user}"/>
19 <property name="password" value="${jdbc.password}"/>
20 <property name="driverClass" value="${jdbc.driverClass}"/>
21 <property name="jdbcUrl" value="${jdbc.jdbcUrl}"/>
22 </bean>
23
24 <!-- 配置一个JdbcTemplate,用来操作数据库 -->
25 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
26 <property name="dataSource" ref="dataSource"/>
27 </bean>
28
29 <!-- 配置dao -->
30 <bean id="bookDao" class="com.proc.dao.BookDao">
31 <property name="jdbcTemplate" ref="jdbcTemplate"/>
32 </bean>
33 <bean id="storeDao" class="com.proc.dao.StoreDao">
34 <property name="jdbcTemplate" ref="jdbcTemplate"/>
35 </bean>
36 <bean id="userDao" class="com.proc.dao.UserDao">
37 <property name="jdbcTemplate" ref="jdbcTemplate"/>
38 </bean>
39
40 <!-- 配置service -->
41 <bean id="bookShopService" class="com.proc.service.BookShopServiceJdbcImps">
42 <property name="bookDao" ref="bookDao"/>
43 <property name="storeDao" ref="storeDao"/>
44 <property name="userDao" ref="userDao"/>
45 </bean>
46
47 <!-- 配置事务管理器 -->
48 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
49 <property name="dataSource" ref="dataSource"></property>
50 </bean>
51
52 <!-- 配置事务属性 -->
53 <tx:advice id="advice">
54 <tx:attributes>
55 <tx:method name="get*" read-only="true"/>
56 <tx:method name="find*" read-only="true"/>
57 <tx:method name="*"/>
58 </tx:attributes>
59 </tx:advice>
60
61 <!-- 配置事务的切入点: AOP切入 -->
62 <aop:config>
63 <!-- 配置切入表达式 -->
64 <aop:pointcut expression="execution(* com.proc.service.*.*(..))" id="pointcut"/>
65 <aop:advisor pointcut-ref="pointcut" advice-ref="advice"></aop:advisor>
66 </aop:config>
67 </beans>

  这样基于xml方式的事务就配置好了。

代码分析:

  事务采用的是AOP的方式。所以需要配置AOP切入点。指定需要为哪些类和方法采用事务

Spring 基于xml配置方式的事务(14)的更多相关文章

  1. Spring 基于xml配置方式的事务

    参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...

  2. Spring 基于xml配置方式的AOP(8)

    1.ArithmeticCalculator.java 1 package com.proc; 2 3 public interface ArithmeticCalculator { 4 int ad ...

  3. Spring 基于xml配置方式的AOP

    我们具体用代码来说明: 1.ArithmeticCalculator.java package com.proc; public interface ArithmeticCalculator { in ...

  4. spring基于xml的声明式事务控制配置步骤

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  5. Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析

    Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...

  6. struts_20_对Action中所有方法、某一个方法进行输入校验(基于XML配置方式实现输入校验)

    第01步:导包 第02步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app ...

  7. struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)

    课时22 基于XML配置方式实现对action的所有方法进行校验   使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类 ...

  8. 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验

    出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...

  9. ssm整合(基于xml配置方式)

    本文是基于xml配置的方式来整合SpringMVC.Spring和Mybatis(基于注解的方式会再写一篇文章),步骤如下: (1)首先自然是依赖包的配置文件 pom.xml <project ...

随机推荐

  1. 三:robotframework框架配合selenium之jquery定位

    RF框架我用的比较多,限于自己的代码水平,目前工作中一直是用RF框架.unittest框架,我也练习了很久,还差一点封装的技巧与设计模式的学习.所以不敢在项目中实践. 等明年我的代码水平再上升一个台阶 ...

  2. html+css判断各个IE浏览器版本

    html+css判断各个IE浏览器版本 在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了. 在HT ...

  3. MVC3中_ViewStart.cshtml的一些事

    MVC3中,使用Razor模板引擎的话,会自动生成一个_ViewStart.cshtml文件. 很多人把这个文件当成类似Webform中的Master模板文件,其实这个_ViewStart.cshtm ...

  4. 无法将 Ethernet0 连接到虚拟网络”VMnet0″ 详细信息可以在 vmware.log 文件中找到未能连接虚拟机Ethernet0

    在 vmware“编辑->虚拟网络设置”里面,点“恢复默认”可解决.  

  5. WPF 3D

    参考MSDN内容:http://msdn.microsoft.com/zh-cn/library/ms747437(v=vs.110).aspx 概述 WPF使用Viewport3D元素,将三维场景显 ...

  6. Jackson环境安装设置

    本地环境设置 由于Jackson是基于Java编程语言的,所以需要设置Java开发环境,这里介绍如何下载安装设置Java.请按照以下步骤来设置环境. Java SE是免费的,点击下载链接:下载Java ...

  7. linux内核编译时如何根据spec指定编译包

    问题: 1> rpmbuild -bb SPECS/kernel.spec --define="_topdir `pwd`" 编译 出的包并未包含kernel-firmwar ...

  8. swiper 窗口宽度变化,页面宽度高度变化 导致自动滑动 解决方案

    又又又又是swiper问题 背景: pc端项目,rem布局,swiper作为步骤条(上一步,下一步)的功能. 发现在屏幕拖动,宽高的变化,窗口大小的变化 会引起swiper自动滑动(到下一步). 在下 ...

  9. JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样 原创 2013年09月04日 23:15:11 标签: java / 2120 编辑 删除 JAVA里面的int类型 和Integer类型 ...

  10. PL/SQL Developer 查看查询的执行计划

    https://zhuanlan.zhihu.com/p/65771352 通过 PL/SQL Developer 查看查询的执行计划 1 什么是执行计划 执行计划是一条查询语句在 Oracle 中的 ...