SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、異常分類
這里的異常分類從系統處理異常的角度看,主要分類兩類:業務異常和系統異常。
1、業務異常
業務異常主要是一些可預見性異常,處理業務異常,用來提示用戶的操作,提高系統的可操作性。
常見的業務異常提示: 1)請輸入xxx 2)xxx不能為空 3)xxx重復,請更換2、系統異常
系統異常主要是一些不可預見性異常,處理系統異常,可以讓展示出一個友好的用戶界面,不易給用戶造成反感。如果是一個金融類系統,在用戶界面出現一個系統異常的崩潰界面,很有可能直接導致用戶流失。
常見的系統異常提示: 1)頁面丟失404 2)服務器異常500二、解決應用啟動后404界面
1、引入頁面Jar包
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>2、自定義首頁接口
import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class IndexController {@RequestMapping("/")public String index(ModelMap modelMap) {modelMap.addAttribute("name","知了一笑") ;return "index";} }3、首頁界面
<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8" /><title></title> </head> <body> <h1 th:text="${name}"></h1> </body> </html>4、運行效果
三、SpringBoot2.0中異常處理
1、項目結構圖
2、自定義業務異常類
public class ServiceException extends Exception {public ServiceException (String msg){super(msg);} }3、自定義異常描述對象
public class ReturnException {// 響應碼private Integer code;// 異常描述private String msg;// 請求的Urlprivate String url;// 省略 get set 方法 }4、統一異常處理格式
1)兩個基礎注解
@ControllerAdvice 定義統一的異常處理類
@ExceptionHandler 定義異常類型對應的處理方式
2)代碼實現
5、簡單的測試接口
@Controller public class ExeController {/*** {* "code": 600,* "msg": "業務異常:ID 不能為空",* "url": "http://localhost:8003/exception01"* }*/@RequestMapping("/exception01")public String exception01 () throws ServiceException {throw new ServiceException("業務異常:ID 不能為空");}@RequestMapping("/exception02")public String exception02 () throws Exception {throw new Exception("出現異常,全體臥倒");} }四、源代碼地址
GitHub:知了一笑 https://github.com/cicadasmile/spring-boot-base
總結
以上是生活随笔為你收集整理的SpringBoot2.0 基础案例(03):配置系统全局异常映射处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公共闪存接口CFI在Flash Memo
- 下一篇: 音视频开发工具整理