Home  >  Article  >  Java  >  Detailed explanation of Spring Boot global exception handling examples in java

Detailed explanation of Spring Boot global exception handling examples in java

怪我咯
怪我咯Original
2017-06-30 10:55:532368browse

This article mainly introduces the relevant information of Spring Boot global Exception handling in detail, which has certain reference value. Interested friends can refer to it

This article is Everyone shared Spring Boot global exception handling for your reference. The specific content is as follows

1. Background processing exception

a.Introducing thymeleaf dependency

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

b. Set properties in the application.properties file

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

c. Write background processing 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. Background exception printing

-------------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. Page processing exception

a. Write html template page

<!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. Modify 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. Page access results

The above is the detailed content of Detailed explanation of Spring Boot global exception handling examples in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn