Spring-AOP基于xml的事务控制

  • Spring-AOP基于xml的事务控制

    • 修改xml模板中限定

    • 配置事务管理器

    • 配置事务通知

    • 配置切入点aspect并建立切入点表达式和通知的对应关系

    •  <tx:advice/> 标签中置事务管理器属性

    • 事务管理器属性说明


Spring-AOP基于xml的事务控制

修改xml模板中限定

添加aop 和 事务管理器tx限定

<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" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
https://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"
>



配置事务管理器

 <bean id="transManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>

配置事务通知

 <tx:advice id="txAdvice" transaction-manager="transManager"></tx:advice>

配置切入点aspect并建立切入点表达式和通知的对应关系

 <aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.serviceImpl.UserServiceImpl.*(..))"></aop:advisor>
</aop:config>

 <tx:advice/> 标签中置事务管理器属性

 <!-- 配置事务属性:
isolation:事务隔离级别,默认值DEFAULT,表示使用数据库的隔离级别
no-rollback-for:指定某个异常发生时,不进行回滚;发生其它异常时,进行回滚;不指定默认值,表示任何异常都回滚
propagation:事务的传播行为,默认值REQUIRED表示一定有事务,一般用于增删改,查询方法可使用SUPPORTS
read-only:指定事务是否只读,只有查询方法才默认true,其它默认false
rollback-for:指定某个异常发生时,进行回滚,其它异常发生时,不进行回滚;不指定默认值,任何异常都回滚
timeout
-->

<tx:attributes>
<tx:method name="*"
isolation="DEFAULT"
no-rollback-for=""
propagation="REQUIRED"
read-only="false"
rollback-for=""
timeout="10"/>

</tx:attributes>

事务管理器属性说明

  • isolation

    :事务隔离级别,默认值DEFAULT,表示使用数据库的隔离级别

  • no-rollback-for

    :指定某个异常发生时,不进行回滚;发生其它异常时,进行回滚;不指定默认值,表示任何异常都回滚

  • propagation

    :事务的传播行为,默认值REQUIRED表示一定有事务,一般用于增删改,查询方法可使用SUPPORTS

  • read-only

    :指定事务是否只读,只有查询方法才默认true,其它默认false

  • rollback-for

    :指定某个异常发生时,进行回滚,其它异常发生时,不进行回滚;不指定默认值,任何异常都回滚

  • timeout

    :超时限制,默认值-1,表示永不超时;如果不设置默认值,就默认-1,没有超时限制;如果设置,则以秒为单位


原文始发于微信公众号(程序员玄之):Spring-AOP基于xml的事务控制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/43059.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!