文档章节

SpringMVC+Mybatis声明式事务分析

 挨踢精英
发布于 2016/04/15 15:43
字数 477
阅读 71
收藏 11

(2-1): expression="execution(* *..*SVImpl.*(..))" 的使用

第一个【*】: 任意返回值类型

第二个【*】:任意包名

第一个【..】:通配包路径 可以有0个或者多个包路径

第三个【*】:任意字符+SVImpl的class

第四个【*】:任意方法名

第二个【..】:通配方法可以有0个或者多个参数

(2-2): 事务的传播级别

1、PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启。

2、PROPAGATION_SUPPORTS : 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。 
3、PROPAGATION_MANDATORY : 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。 
4、PROPAGATION_REQUIRES_NEW : 总是开启一个新的事务。如果一个事务存在,则将这个存在的事务挂起。 
5、PROPAGATION_NOT_SUPPORTED : 总是非事务地执行,并挂起任何存在的事务。 
6、PROPAGATION_NEVER : 总是非事务地执行,如果存在一个活动事务,则抛出异常。 
7、 PROPAGATION_NESTED : 如果一个活动的事务存在,则运行在一个嵌套的事务中,如果没有活动事务,则按TransactionDefinition.PROPAGATION_REQUIRED属性执行

 <!-- 拦截器方式配置事务 -->

 <!-- 配置事务传播级别 -->

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

  <tx:attributes>

   <tx:method name="save*" propagation="REQUIRED" />

   <tx:method name="add*" propagation="REQUIRED" />

   <tx:method name="create*" propagation="REQUIRED" />

   <tx:method name="insert*" propagation="REQUIRED" />

   <tx:method name="update*" propagation="REQUIRED" />

   <tx:method name="merge*" propagation="REQUIRED" />

   <tx:method name="del*" propagation="REQUIRED" />

   <tx:method name="remove*" propagation="REQUIRED" />

   <tx:method name="put*" propagation="REQUIRED" />

   <tx:method name="get*" propagation="SUPPORTS" read-only="true" />

   <tx:method name="count*" propagation="SUPPORTS" read-only="true" />

   <tx:method name="find*" propagation="SUPPORTS" read-only="true" />

   <tx:method name="list*" propagation="SUPPORTS" read-only="true" />

   <tx:method name="*" propagation="SUPPORTS" read-only="true" />

  </tx:attributes>

 </tx:advice>  

 <aop:config>

  <!-- 只对业务逻辑层实施事务 -->

  <aop:pointcut id="txPointcut"

   expression="execution(* *..*SVImpl.*(..))" />

   

  <!-- Advisor定义,切入点和通知分别为txPointcut、txAdvice -->

  <aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice" />

 </aop:config>


© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 32
码字总数 8431
作品 0
株洲
私信 提问

暂无文章

js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
31
0
MYSQL索引

索引的作用 索引类似书籍目录,查找数据,先查找目录,定位页码 性能影响 索引能大大减少查询数据时需要扫描的数据量,提高查询速度, 避免排序和使用临时表 将随机I/O变顺序I/O 降低写速度,占用磁...

关元
昨天
15
0
撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
昨天
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部