-
修改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