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的事务管理
@Override
public 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的事务管理
@Override
public void delete(Integer id) {
deptMapper.deleteById(id);
int i=1/0;
empMapper.deleteByDeptId(id);
}
事务存在传播行为(了解一下)