注解事务管理的问题
来源:12-2 创建订单,清空购物车等功能开发1
qq_北城以北_7
2017-09-04
老师你好,这是create.do的service方法代码,在方法头部使用了注解@Transactional(rollbackFor = Throwable.class,propagation=Propagation.REQUIRES_NEW)进行事务管理的配置了
,代码在执行批量插入订单详情数据的时候出错了,按照回滚的机制上面存储订单数据的操作应该是无效的,但是orderMapper.insertSelective执行成功了,这是为什么
2回答
-
你好,同学,首先赞一下你,生成订单采用了事务。因为一期要把主流程打通,例如拦截器,统一异常处理是二期要处理的。还有事务,不是简单的一个回滚解决的事,还要讲事务隔离,传播等。这块要讲就讲透,要不就不讲,包括事务都会领着一起配置,还有单元测试等。所以留在二期,并且让大家知道为什么这么改,以及拦截器,拦截器组的原理等等。这块都不是3-5个小时能说清楚的。要花大精力去做,一期我们和慕课老师定的方案就是打通主流程~~这块放在一期不合适。
事务后续我们会单独讲的~~这块事务执行成功了,说明事务没有生效,一期事务我们没有调试。
建议同学找一下,mysql默认的配置,具体注解里面的需要对应上,用默认的propagation其实也是可以的,还有用junit 测试一下事务,可以百度一下哟。有专门的测试事务的注解。带回滚的。
022017-09-04 -
qq_北城以北_7
提问者
2017-09-04
老师好,问题解决了,SpringMVC的配置文件我修改成只扫描controller包下面的类事务管理的注解就可以正常运行了,是SpringMVC干扰了Spring扫描的原因吗
012017-09-04
相似问题
回答 2
回答 1