实际开发中的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}
(Webservices除外),最后就能达到回滚,在services层中如果有异常就直接抛出来,让Action层调用这个方法的try catch方法进行扑捉,如果服务层本身异常被try{}catch{}了,事务就不回滚了,如果想让事务回滚必须再往外抛try{}catch{throw Exception}。 一般服务层尽量少写try catch方法。
注解形式@Transactional实现事务管理
注意@Transactional只能被应用到public方法上,对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能。
默认情况下,一个有事务的方法,遇到RuntiomeException时会回滚。遇到受检查的异常是不会回滚的,要想所有异常都回滚,要加上属性rollbackFor={Exception.class}
相关文章推荐
- #springMessage()宏的解惑
- Spring框架入门(一)
- Java程序内存分配【二】
- 基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法
- js\java 通过算法加密后,再base64
- JAVA 性能优化
- RxStore_一个使用RxJava的轻量级的数据持久化框架(一)
- SpringMVC ModelAndView类;Map ;Model
- JavaWeb开发小结
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)
- 改善Java Script程序的建议(二)