这篇文章主要为大家详细介绍了Spring Boot全局异常处理的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文为大家分享了Spring Boot全局异常处理,供大家参考,具体内容如下
1、后台处理异常
a、引入thymeleaf依赖
org.springframework.bootspring-boot-starter-thymeleaf
b、在application.properties文件中设置属性
#关闭thymeleaf模板的缓存 spring.thymeleaf.cache=false
c、编写后台处理Handler
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; @ControllerAdvice public class GlobalExceptionHandler { //设置此handler处理所有异常 @ExceptionHandler(value=Exception.class) public void defaultErrorHandler(){ System.out.println("-------------default error"); } }
d、后台异常打印
-------------default error
2017-06-16 14:54:05.314 WARN 6892 --- [nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.dao.IncorrectResultSizeDataAccessException: result returns more than one elements; nested exception is javax.persistence.NonUniqueResultException: result returns more than one elements
2、页面处理异常
a、编写html模板页面
Insert title here
异常出现啦
${messages}b、修改Handler
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(value=Exception.class) @ResponseBody public String defaultErrorHandler(){ System.out.println("-------------default error"); return "系统错误,请联系管理员"; } }
c、页面访问结果