基于xml声明事务

基于xml声明事务

徐徐
后端
发布于2023-09-25 00:56:59
🌺前言
Javaweb xml方式声明事务

将Spring配置文件中去掉tx:annotation-driven 标签,并添加配置: 注意:基于xml实现的声明式事务,必须引入aspectJ的依赖

xml
<aop:config> 
<!-- 配置事务通知和切入点表达式 --> 
<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.atguigu.spring.tx.xml.service.impl.*.*(..))"></aop:advisor> 
</aop:config>
 <!-- tx:advice标签:配置事务通知 --> 
 <!-- id属性:给事务通知标签设置唯一标识,便于引用 --> <!-- transaction-manager属性:关联事务管理器 --> 
<tx:advice id="txAdvice" transaction-manager="transactionManager"> 
    <tx:attributes> 
<!-- tx:method标签:配置具体的事务方法 -->
 <!-- name属性:指定方法名,可以使用星号代表多个字符 --> 
        <tx:method name="get*" read-only="true"/> 
        <tx:method name="query*" read-only="true"/> 
        <tx:method name="find*" read-only="true"/> 
         <!-- read-only属性:设置只读属性 --> 
         <!-- rollback-for属性:设置回滚的异常 --> 
         <!-- no-rollback-for属性:设置不回滚的异常 -->
         <!-- isolation属性:设置事务的隔离级别 --> 
         <!-- timeout属性:设置事务的超时属性 --> 
         <!-- propagation属性:设置事务的传播行为 --> 
    <tx:method name="save*" read-only="false" rollback- for="java.lang.Exception" propagation="REQUIRES_NEW"/>
     <tx:method name="update*" read-only="false" rollback- for="java.lang.Exception" propagation="REQUIRES_NEW"/> 
    <tx:method name="delete*" read-only="false" rollback- for="java.lang.Exception" propagation="REQUIRES_NEW"/> 
     </tx:attributes> 
</tx:advice>
文章最后更新于 2023-09-25 00:59:29
留言
暂无数据

~~空空如也