spring 事务配置

piginthesun 发布于 2016/06/30 08:39
阅读 287
收藏 0
springMVC项目,多数常规事务配置都喜欢切点切在service上的所有方法,如果所有操作只是针对单个domain进行操作按说也没什么大问题,但是如果涉及到多个domain的操作需要在同一事务中时感觉有点不满足需求。例如:创建A的操作前需要先创建B,删除某个C,如果BC操作失败,A的操作也不需要执行。这种情况是把业务做到某个service中还是单独针对Controller进行事务配置?有什么问题,有什么好的处理方法么
加载中
0
wangaowell
wangaowell
把创建A的方法、创建B的方法和删除C的方法,放到一个方法中,在该方法上加事务注解,捕捉异常时,手动让事务回滚。
wangaowell
wangaowell
回复 @piginthesun : MVC的设计原则,最好处理业务逻辑的时候进行事务的控制,controller只是控制层。
piginthesun
piginthesun
回复 @wangaowell : 框架本来都是把事务配置在service中的所有方法(话说为什么不能在Contoller控制事务),如果再在Controller中配置事务,就形成了嵌套事务,不知道会不会有问题
cullenx
cullenx
回复 @piginthesun : 一般不建议 在Controller中 控制事务
wangaowell
wangaowell
回复 @piginthesun : 在service类的方法中,单独使用注解
piginthesun
piginthesun
是在Contoller的方法中单独使用注解或者编程式事务么
0
水蓝魔瞳
水蓝魔瞳
创建B、删除C、创建A三个数据库方法在DAO层,然后在service层在一个方法里顺序调用,然后在这个方法上使用事务注解
0
haoran_10
haoran_10
只要单个数据源事务控制,都很简单,就放在一个service事务里就可以了,事务本身具有传播性的。注解形式,xml配置形式,编程式,只是方式不一样
0
魔力猫
魔力猫
缺省情况下,如果没有事务,则启动新事务,如果已经有了事务,则使用当前事务。所以不用担心不同service和Dao的嵌套调用问题。
返回顶部
顶部