Spring Boot全局异常处理解析

本文为大家分享了Spring Boot" title="Spring Boot">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;

@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模板页面 

<!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;

@ControllerAdvice

public class GlobalExceptionHandler {

@ExceptionHandler(value=Exception.class)

@ResponseBody

public String defaultErrorHandler(){

System.out.println("-------------default error");

return "系统错误,请联系管理员";

}

}

c、页面访问结果

以上是 Spring Boot全局异常处理解析 的全部内容, 来源链接: utcz.com/p/212833.html

回到顶部