目录:
Spring Boot Application与Controller分离
扫描二维码关注公众号,回复:
8495753 查看本文章
摘要:
在项目开发中,异常处理是我们必不可少要经历的内容,所以Spring Boot如何处理异常呢?Spring Boot的异常处理基于AOP思想的五大通知类型的异常通知(前置通知、环绕通知、后置通知、异常通知、最终通知)类型。我们使用的即是异常通知。
项目结构:
ExceptionController.java
package com.edu.usts.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* Created by Guanzhong Hu
* Date :2019/12/18
* Description :
* Version :1.0
*/
@Controller
public class ExceptionController {
@RequestMapping("/eShow")
@ResponseBody
public String eShow(){
int a = 5/0;
return "show";
}
}
GlobalExceptionHandler.java
package com.edu.usts.exception;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.Map;
/**
* Created by Guanzhong Hu
* Date :2019/12/18
* Description :全局异常处理器
* Version :1.0
*/
@ControllerAdvice
public class GlobalExceptionHandler {
// 指名处理那些异常
@ExceptionHandler(Exception.class)
@ResponseBody
public Map<String,Object> handlerException(Exception e){
Map<String,Object> emap = new HashMap<>();
emap.put("errCode",500);
emap.put("errorMsg",e.toString());
return emap;
}
}
我们认为制造异常为除数为0一场,我们访问一下看看。
页面截图:
成功抛出异常信息。
源码gitee地址: