首页 > 代码库 > spring事务 整理

spring事务 整理

spring的事务本质上来说还是spring的aop

不过,在aop中事务类,也就是切面类是我们提供的,但在spring事务中,事务是由spring提供的。


spring针对不同的数据库开发框架,启用了不同的事务

如jdbc中由datasource管理connection 在hibernate由sessionfactory 管理session(相当于对connection的封装)

因此采用了不同的事务类(切面)完成



xml配置示例:

<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:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">



配置中isolation机制 propagation 传播机制

<!--
        通知 1、告诉spring容器,采用什么样的方法处理事务 2、告诉spring容器,目标方法应该采用什么样的事务处理策略
    -->
    <tx:advice id="tx" transaction-manager="transactionManager">
        <tx:attributes>
            <!--
                name规定方法 isolation 默认值为DEFAULT propagation 传播机制 REQUIRED
            -->
            <tx:method name="save*" read-only="false" />
        </tx:attributes>
    </tx:advice>
isolation
<!--
        通知 1、告诉spring容器,采用什么样的方法处理事务 2、告诉spring容器,目标方法应该采用什么样的事务处理策略
    -->
    <tx:advice id="tx" transaction-manager="transactionManager">
        <tx:attributes>
            <!--
                name规定方法 isolation 默认值为DEFAULT propagation 传播机制 REQUIRED
            -->
            <tx:method name="save*" read-only="false" />
        </tx:attributes>
    </tx:advice>

propagation


注解配置







详情参考 spring文档:http://download.csdn.net/detail/jinhao505/7901177

spring事务 整理