Spring基础:声明式事务

Posted 凸然猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring基础:声明式事务相关的知识,希望对你有一定的参考价值。

Spring中的事务管理

  声明式事务:AOP,代码是横切进去的不会影响主流代码的纵向执行(注意:程序是纵向执行的,AOP是横切的)

  编程式事务:需要在代码中,进行事务的管理(与try catch方法相似,程序执行成功就继续,失败,则进行资源回滚),纵向的

 

配置声明式事务(AOP的思想)

不影响纵向的主流业务程序执行,在横切面上添加声明式事务,实现spring整合mybatis这件事

    <!--配置声明式事务-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!--结合AOP实现事务织入-->
    <!--配置事务通知:-->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!--给那些方法配置事务-->
        <!--配置事务的传播特性:new propagation-->
        <tx:attributes>
            <tx:method name="add" propagation="REQUIRED"/>
            <tx:method name="delete"/>
            <tx:method name="update"/>
            <tx:method name="select"/>
       <!——代表所有方法都支持事务——> <tx:method name="*"/> </tx:attributes> </tx:advice>

 

 配置切入点

 <!--配置事务切面-->
    <aop:config>
        <aop:pointcut id="txPrnitCut" expression="execution(* com.king.mapper.*.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPrnitCut"/>
    </aop:config>

小结:配置声明式事务的配置依然是AOP,采用环绕通知的方式,将配置好的声明式事务加到主流程序中,实现事务特性

 

 

以上是关于Spring基础:声明式事务的主要内容,如果未能解决你的问题,请参考以下文章

spring事务管理——编程式事务声明式事务

spring中声明式事务 配置好后,在java代码中怎么使用

spring声明式事务管理

全面分析 Spring 的编程式事务管理及声明式事务管理(转)

Spring针对事务处理提供哪两种事务编程模式。

spring学习笔记声明式事务