您的位置:首页 > 编程语言 > Java开发

实际开发中的spring事务控制

2016-01-27 16:51 477 查看
两个插入记录,如果有一个失败,想要两个都回滚的话,那么最好把两个写在一个方法里面,而且在service层

(Webservices除外),最后就能达到回滚,在services层中如果有异常就直接抛出来,让Action层调用这个方法的try catch方法进行扑捉,如果服务层本身异常被try{}catch{}了,事务就不回滚了,如果想让事务回滚必须再往外抛try{}catch{throw Exception}。 一般服务层尽量少写try catch方法。
注解形式@Transactional实现事务管理

注意@Transactional只能被应用到public方法上,对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能。

默认情况下,一个有事务的方法,遇到RuntiomeException时会回滚。遇到受检查的异常是不会回滚的,要想所有异常都回滚,要加上属性rollbackFor={Exception.class}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: