在SSM项目中使用AOP管理事务的配置教程

本文介绍了在SSM项目中如何使用AOP进行事务管理配置,包括引入AOP依赖、配置事务管理器、设置事务切面和通知。通过一个借书操作的示例,展示了正常操作和异常情况下事务的回滚效果,以此说明AOP事务管理的灵活性和便利性。
摘要由CSDN通过智能技术生成

今天来记录一下在SSM项目中经常使用到的事务管理的配置,其实在spring中事务管理有很多方法,但今天我用的是最简单的这种(还不是因为懒~)aop自动管理事务。

1.首先我们需要有一个整合好的SSM框架项目,具体搭建步骤可以参考我的另一篇文章:最新版的SSM框架spring5.0搭建教程 

2.下面就进入正题 了,我们只需要在spring-mybatis.xml文件中配置几个地方就可以了。

---->导入aop的引用:

xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd

---->配置spring的事务管理器(在我之前的配置文件中已经配置过了):

<!-- 事务核心管理器,封装了所有事务操作. 依赖于连接池 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

---->配置aop全局事务管理(我本机写的demo中业务不算复杂,也为了方便演示,所以直接切到controller层了,切入点可以根据自己的项目需要自行设置):

 <!--aop全局事务管理(下面基于controller层)-->
    <aop:config>
        <aop:pointcut id="allControllerMethods"
                      expression="execution(* com..controller..*(..))"/>
        <aop:advisor advice-ref="defaultTransactionAdvice"
                     pointcut-ref="allControllerMethods"/>
    </aop:config>

---->配置事务管理的通知(具体指定aop拦截到的哪些方法需要创建/使用事务):

<tx:advice id="defaultTransactionAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!--<tx:method name="*" isolation="DEFAULT"-->
                    <!--propagation="REQUIRED" no-rollback-for="java.lang.RuntimeException" timeout="100"/>-->
            <!--<tx:method name="*" read-only="true"/>-->
            <!-- 以方法为单位,指定方法应用什么事务属性 isolation:隔离级别 propagation:传播
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值