在Spring和Hibernate中同时处理Controller,Service和DAO Layer异
我正在开发Spring 3.2& Hibernate 3.6,任何人都可以解释如何在Sping MVC&中解决异常问题. Hibernate …我只是分享示例代码. 控制器层
服务层
DAO层
>现在假设在DAO层发生任何异常,同时保存empObj,如d / b关闭或连接失败或发生任何其他类型的休眠异常,如ConstraintViolationException或IntegrityConstraintViolationException等. 那么什么是最佳实践或如何同时处理Controller,Service和DAO Layer中的异常. 最佳答案
您不能同时处理应用程序所有级别的异常;您必须考虑它们的上下文含义以及适合您的应用程序的策略.一些错误应该被忽略,一些应该被包装,一些应该被允许直接引发.
处理spring-mvc应用程序中的异常的一种方法是在适当的情况下使用您自己的库来包装底层库中的致命错误,以它们被抛出的级别命名,例如: ServiceException或RepositoryException.然后,@ ControllerAdvice-annotated类可以使用@ ErrorHandler-annotated方法处理这些错误并返回5XX http错误. 常见的应用程序错误,例如由于ID不正确而未找到的实体,可能会导致自定义异常,例如:引发NotFoundException并随后在@ ControllerAdvice-annotated类中捕获. 这种技术的优点是,您可以在不同的应用程序层中使用较少的错误处理代码,并可以集中将异常转换为响应. 示例@ ControllerAdvice-annotated类:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |