1.处理项目中的异常
利用全局异常处理器
单独创建一个类来处理全局的异常,并对其做出相应回应
/*
* 全局异常处理器
* */
@RestControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)//代表我们要捕获所有异常public Result ex(Exception ex){ex.printStackTrace();return Result.error("对不起,操作失败,请联系管理员");}
}
2.事务管理
概念:是一些操作的集合,要么同时成功,要么同时失败
操作:
1.开启事务
2.提交事务
3.回滚事务
详细介绍
@Transactional注解是用于开启事务的
所处位置:业务(service)层的类,方法,接口上
@Transactional//spring的事务管理@Overridepublic void delete(Integer id) {deptMapper.deleteById(id);int i=1/0;empMapper.deleteByDeptId(id);}
为了记录事务管理的日志,我们要配置一个文件(目前感觉没什么用)
logging.level.org.springframework.jdbc.support.JdbcTransactionManager:debug
单独写@Transactional注解只能处理只有运行时异常的事务,而像编译时异常就不能处理,所有我们要做出改动,让它可以处理所有的异常
改为
@Transactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)//spring的事务管理@Overridepublic void delete(Integer id) {deptMapper.deleteById(id);int i=1/0;empMapper.deleteByDeptId(id);}
事务存在传播行为(了解一下)