博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring事务管理,循环插入数据中间一条出错实现回滚。
阅读量:5297 次
发布时间:2019-06-14

本文共 635 字,大约阅读时间需要 2 分钟。

  •   使用的是 aop 声明式事务。 但是 循环插入写在 Controller 层中所以一直不能回滚,Controller 层的扫描在 springmvc 的配置文件中使用 
1 // 扫描包下的除了 @Controller  注册到 spring    spring的配置      事务的配置都是在spring的配置文件中的。2 
  3
// exclude-filter 过滤掉不扫描的注解 与之对应的是 include-filter 5
6 7 8 // 使用 @RequestMapping 注解是必须开启 annotation-driven 该注解要和扫描controller的注解一起放在spring主配置文件。 9
  •   Controller 层的扫描是在 springmvc 的配置文件中实现的。 springmvc 也有一个属于自己的子容器,相当于被 spring 容器包裹。 所以这种情况下 在 Controller 中使用 @transactional 会失效,配置切点也会失效。
  •   好的解决方法是将事务在 Service 层进行管理。  有时候 try-catch 捕获了事务异常,如果没有 抛出一个 RuntimeException 也不会进行回滚。

转载于:https://www.cnblogs.com/dengsheng/p/10692003.html

你可能感兴趣的文章
String、StringBuilder、StringBuffer的爱恨情仇
查看>>
Object常用方法总结
查看>>
mplayer-ww -37877 build by gcc-4.5.1
查看>>
小Z的袜子(hose) HYSBZ - 2038(莫队)
查看>>
区间完全覆盖问题(贪心)
查看>>
Java8 lambda表达式10个示例<转>
查看>>
转: codereview工具之 review board 选型与实践
查看>>
转:一位同学总结的面试笔记题相关
查看>>
【转】Google是如何做代码审查的?
查看>>
plsql调试存储过程卡住的原因以及处理
查看>>
洛谷P2526 [SHOI2001]小狗散步(二分图匹配)
查看>>
洛谷P5282 【模板】快速阶乘算法(多项式多点求值+MTT)
查看>>
php中==和===的区别
查看>>
Oracle Drop表并未直接删除 drop table xx purge
查看>>
php curl模拟登陆抓取数据
查看>>
locust压测时提示:locust HTTPError('400 Client Error:xxxxx')
查看>>
js获取网页屏幕可视区域高度
查看>>
项目中记录log4j记录日志
查看>>
apple开发者账号申请
查看>>
十款免费移动应用测试框架推荐
查看>>