• 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,采用环绕通知的方式,将配置好的声明式事务加到主流程序中,实现事务特性

     

  • 相关阅读:
    ES6新特性总结
    Flask
    Flask
    Flask
    Flask
    Flask
    Flask
    Flask
    Linux
    Linux
  • 原文地址:https://www.cnblogs.com/CL-King/p/13938619.html
Copyright © 2020-2023  润新知