网站建设资讯

NEWS

网站建设资讯

使用SpringMVC实现统一异常处理的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有扎赉诺尔免费网站建设让你可以放心的选择与我们合作。

这篇文章将为大家详细讲解有关使用Spring MVC实现统一异常处理的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1 描述

在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大。

那么,能不能将所有类型的异常处理从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护?答案是肯定的。下面将介绍使用Spring MVC统一处理异常的解决和实现过程。

2 分析

Spring MVC处理异常有3种方式:

(1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver;

(2)实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器;

(3)使用@ExceptionHandler注解实现异常处理;

3 实战

3.1 引言

为了验证Spring MVC的3种异常处理方式的实际效果,我们需要开发一个测试项目,从Dao层、Service层、Controller层分别抛出不同的异常,然后分别集成3种方式进行异常处理,从而比较3种方式的优缺点。

3.2 实战项目

3.2.1 项目结构 

使用Spring MVC实现统一异常处理的方法使用Spring MVC实现统一异常处理的方法 

3.2.2 Dao层代码

@Repository("testDao") 
public class TestDao { 
  public void exception(Integer id) throws Exception { 
    switch(id) { 
    case 1: 
      throw new BusinessException("12", "dao12"); 
    case 2: 
      throw new BusinessException("22", "dao22"); 
    case 3: 
      throw new BusinessException("32", "dao32"); 
    case 4: 
      throw new BusinessException("42", "dao42"); 
    case 5: 
      throw new BusinessException("52", "dao52"); 
    default: 
      throw new ParameterException("Dao Parameter Error"); 
    } 
  } 
} 

网站名称:使用SpringMVC实现统一异常处理的方法-创新互联
本文地址:http://cdweb.net/article/esodj.html