开发者社区> 问答> 正文

spring 事务配置 403.10 禁止访问:配置无效 

springMVC项目,多数常规事务配置都喜欢切点切在service上的所有方法,如果所有操作只是针对单个domain进行操作按说也没什么大问题,但是如果涉及到多个domain的操作需要在同一事务中时感觉有点不满足需求。例如:创建A的操作前需要先创建B,删除某个C,如果BC操作失败,A的操作也不需要执行。这种情况是把业务做到某个service中还是单独针对Controller进行事务配置?有什么问题,有什么好的处理方法么

把创建A的方法、创建B的方法和删除C的方法,放到一个方法中,在该方法上加事务注解,捕捉异常时,手动让事务回滚。######回复 @piginthesun : MVC的设计原则,最好处理业务逻辑的时候进行事务的控制,controller只是控制层。######回复 @wangaowell : 框架本来都是把事务配置在service中的所有方法(话说为什么不能在Contoller控制事务),如果再在Controller中配置事务,就形成了嵌套事务,不知道会不会有问题######回复 @piginthesun : 一般不建议 在Controller中 控制事务######回复 @piginthesun : 在service类的方法中,单独使用注解######是在Contoller的方法中单独使用注解或者编程式事务么######创建B、删除C、 创建A三个数据库方法在DAO层,然后在service层在一个方法里顺序调用,然后在这个方法上使用事务注解

展开
收起
kun坤 2020-05-27 14:01:51 482 0
1 条回答
写回答
取消 提交回答
  • ######只要单个数据源事务控制,都很简单,就放在一个service事务里就可以了,事务本身具有传播性的。注解形式,xml配置形式,编程式,只是方式不一样######缺省情况下,如果没有事务,则启动新事务,如果已经有了事务,则使用当前事务。所以不用担心不同service和Dao的嵌套调用问题。

    2020-05-27 14:54:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多