创建包:advice
创建类:MyExceptionAdvice
package com.jt.advice;
import com.jt.vo.SysResult;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* Spring为了整合全局异常的处理 开发了如下的注解
* 1.@RestControllerAdvice //定义全局异常的处理类 返回值JSON串
* 2.@ExceptionHandler 标识拦截的异常的类型,如果类型匹配,则执行方法
*/
@RestControllerAdvice
public class MyExceptionAdvice {
//写法:1.运行时异常(通用) 2.自定义异常信息 3.拦截所有异常Exception.class
@ExceptionHandler(RuntimeException.class)
public Object exception(Exception e){
e.printStackTrace(); //输出异常信息
//需求: 如果遇到异常,应该提示用户201/失败信息.
return SysResult.fail();
}
}
2.事物的回滚操作(程序报错,需要事物(数据库操作)回滚)
@Transactional