spring事务 整理

来源:互联网 发布:u盘文件数据恢复 编辑:程序博客网 时间:2024/05/17 21:59

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.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsdhttp://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

0 0
原创粉丝点击