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!