Spring中使用XML文件的方式配置事务

来源:互联网 发布:男士护肤 知乎 旁氏 编辑:程序博客网 时间:2024/05/16 11:05
Spring中使用XML文件的方式配置事务

一、说在前面


基于XML配置事务的方式的基础数据都和声明式事务一文(http://blog.csdn.net/luoyepiaoxue2014/article/details/73385511)的一样,在此不再赘述。

修改的代码部分也只是在接口的实现类中,去掉所有注解标签。然后为为每个字段提供一个setXxx()方法。

二、具体代码如下

1、因为和声明式事务的代码(Spring中声明式事务管理一文)一样,所以在这不在重复,只将代码架构提供如下(代码没有改变只是重新放到了新的包里面):


2、applicationContext-xml.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 配置自动扫描的包 --><context:component-scan base-package="com.at.spring.tx"></context:component-scan><!-- 导入资源文件 --><context:property-placeholder location="classpath:db.properties"/><!-- 配置C3P0数据源 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="user" value="${jdbc.user}"></property><property name="password" value="${jdbc.password}"></property><property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property><property name="driverClass" value="${jdbc.driverClass}"></property><property name="initialPoolSize" value="${jdbc.initialPoolSize}"></property><property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property></bean><!-- 配置Spring的JdbcTemplate模板类 --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"></property></bean><!-- 配置bean --><bean id="bookShopDao" class="com.at.spring.tx.xml.BookShopDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate"></property></bean><bean id="bookShopService" class="com.at.spring.tx.xml.service.impl.BookShopServiceImpl"><property name="bookShopDao" ref="bookShopService"></property></bean><bean id="cashier" class="com.at.spring.tx.xml.service.impl.CashierImpl"><property name="bookShopService" ref="bookShopService"></property></bean><!-- 1、配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="dataSource"></property></bean><!-- 2、配置事务属性 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 根据方法名指定事务的属性 --><tx:method name="purchase" propagation="REQUIRED"/><tx:method name="get*" read-only="false"/><tx:method name="find*" read-only="true"/><tx:method name="*"/></tx:attributes></tx:advice><!-- 3、配置事务切入点,以及把事务切入点和事务属性关联起来 --><aop:config><aop:pointcut expression="execution(* com.at.spring.tx.xml.service.*.*(..))" id="txPointCut"/><aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/></aop:config></beans>


By luoyepiaoxue2014

微博地址: http://weibo.com/luoyepiaoxue2014  点击打开链接