首页 > 编程 > Java > 正文

Spring Boot全局异常处理解析

2019-11-26 12:01:00
字体:
来源:转载
供稿:网友

本文为大家分享了Spring Boot全局异常处理,供大家参考,具体内容如下

1、后台处理异常

a、引入thymeleaf依赖

<!-- thymeleaf模板插件 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

b、在application.properties文件中设置属性

#关闭thymeleaf模板的缓存spring.thymeleaf.cache=false 

c、编写后台处理Handler  

import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;@ControllerAdvicepublic 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模板页面 

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"   xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"><head><meta charset="UTF-8" /><title>Insert title here</title></head><body> <h1 th:inlines="text">异常出现啦</h1> ${messages}</body></html>

b、修改Handler

import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;@ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler(value=Exception.class) @ResponseBody public String defaultErrorHandler(){  System.out.println("-------------default error");  return "系统错误,请联系管理员"; }}

c、页面访问结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表