java – Hibernate,Spring,@ Transactional – 用try/catch环
我正致力于使用Spring 3和Hibernate 3.6开发Web应用程序.我对@Transactional Annotation和代码结构有一些疑问. – >当我使用@Transactional(使用Spring进行事务管理)时,是否必须在调用它们时使用try / catch包围@Transactional-annotated方法? 例如,当我得到一个加载,更改并返回一个对象的方法然后我从另一个类调用它时:我是否必须使用try / catch包围调用?也许出了点问题,没有返回任何对象,数据库连接失败..我不知道. 到目前为止,我认为@Transactional会关注所有可能发生的异常,并在发生错误时回滚此事务中的每个操作. 或者是否足以检查是否有返回的对象(如果/ else),那么我不需要try / catch? 最佳答案
使用HandlerExceptionResolvers和@ExceptionHandlers,Spring中的Handling exceptions非常简单.我倾向于独占使用@ExceptionHandler.
您可以使用@ExceptionHandler来处理特定异常,而不是在try-catch块中自己处理它. 如果用户想要一个未找到的资源,并且您想要发送404.
如果存在服务器问题,您希望发送500
您还应该狭隘地处理异常.通常你不应该做@ ExceptionHandler(Exception.class),我也相信它按顺序工作,所以如果你处理一般的Exception,它应该是类中的最后一个方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |