spring事务配置 :基于AspectJ的XML方式
2017-11-22 13:30
543 查看
常用配置:<!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!-- 配置事务的通知(事务的增强) --><tx:advice id="transactionAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="insert*" propagation="REQUIRED"/><tx:method name="save*" propagation="REQUIRED"/><tx:method name="do*" propagation="REQUIRED"/><tx:method name="add*" propagation="REQUIRED"/><tx:method name="update*" propagation="REQUIRED"/><tx:method name="delete*" propagation="REQUIRED"/><tx:method name="find*" propagation="SUPPORTS" read-only="true"/><tx:method name="get*" propagation="SUPPORTS" read-only="true"/><tx:method name="select*" propagation="SUPPORTS" read-only="true"/><tx:method name="*" propagation="SUPPORTS" read-only="true"/></tx:attributes></tx:advice><!-- 配置切面 --><aop:config><!--配置切入点--><aop:pointcut id="transactionPointcut" expression="execution(* com.heyin.zkgj.service..impl..*.*(..))"/><!--配置切面 当配置了多个切入点,可用<aop:aspect来配置多个切面--><aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice"/></aop:config><!-- Spring AOP config解释一下(* com.heyin.zkgj.service..impl..*.*(..))中几个通配符的含义:第一个 * —— 通配 任意返回值类型第二个 * —— 通配 com.heyin.zkgj.service..impl包或子包下的任意class第三个 * —— 通配 com.heyin.zkgj.service..impl包或子包下的任意class的任意方法第四个 .. —— 通配 方法可以有0个或多个参数-->
<tx:advice/>有关的设置这一节里将描述通过
<tx:advice/>标签来指定不同的事务性设置。默认的
<tx:advice/>设置如下: 事务传播设置是
REQUIRED隔离级别是
DEFAULT事务是 读/写事务超时默认是依赖于事务系统的,或者事务超时没有被支持。任何
RuntimeException将触发事务回滚,但是任何 checked
Exception将不触发事务回滚 这些默认的设置当然也是可以被改变的。
<tx:advice/>和
<tx:attributes/>标签里的
<tx:method/>各种属性设置总结如下: 表 9.1.
<tx:method/>有关的设置
属性 | 是否需要? | 默认值 | 描述 |
---|---|---|---|
name | 是 | 与事务属性关联的方法名。通配符(*)可以用来指定一批关联到相同的事务属性的方法。 如:'get*'、 'handle*'、 'on*Event'等等。 | |
propagation | 不 | REQUIRED | 事务传播行为 |
isolation | 不 | DEFAULT | 事务隔离级别 |
timeout | 不 | -1 | 事务超时的时间(以秒为单位) |
read-only | 不 | false | 事务是否只读?(典型地,对于只执行查询的事务你会将该属性设为true,如果出现了更新、插入或是删除语句时只读事务就会失败) |
rollback-for | 不 | 将被触发进行回滚的 Exception(s);以逗号分开。 如: 'com.foo.MyBusinessException,ServletException' | |
no-rollback-for | 不 | 不 被触发进行回滚的 Exception(s);以逗号分开。 如: 'com.foo.MyBusinessException,ServletException' |
相关文章推荐
- spring事务配置 :基于AspectJ的XML方式
- spring采用基于xml配置方式进行事务的处理
- spring学习笔记12----Spring+jdbc组合开发( 采用基于xml方式配置事务)
- spring采用基于xml配置方式进行事务的处理
- Spring 采用基于XML方式配置事务
- Spring学习-22:Spring的AOP:基于AspectJ的XML配置方式开发
- Intellij IDEA创建Spring项目之基于Aspectj的AOP操作(XML配置方式)
- Spring 基于xml配置方式的事务
- spring 基于XML和注解的两种事务配置方式
- Spring 基于xml配置方式的事务
- Spring 声明式事务管理----基于AspectJ的XML方式
- Spring AOP使用Aspectj基于xml方式,初始化Bean参数
- spring框架的学习(四)——Spring的AOP的概述及AOP的操作(基于aspectj的xml方式)
- 基于springboot搭建dubbo框架(注解和xml配置两种方式)
- Spring配置声明式事务--xml配置文件方式
- Spring进阶之路(11)-使用Aspectj切面配置和XML配置文件方式实现切面编程
- Spring声明式事务(xml配置事务方式)
- 采用基于XML方式配置事务
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
- Spring中的AOP(七)——基于XML配置文件方式的AOP