1.异常工具类
@ControllerAdvice //控制器的增强
@Log4j2
public class ExceptionCatch {
//捕获所有的Exception此类异常
@ExceptionHandler(Exception.class)
@ResponseBody
public ResponseResult exception(Exception exception) {
exception.printStackTrace();
//记录日志
log.error("catch exception:{}", exception.getMessage());
//返回通用异常
return ResponseResult.errorResult(AppHttpCodeEnum.SERVER_ERROR);
}
}
2.异常配置类
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration //该类是一个配置类
@ComponentScan("com.tang.common.exception")//捕获所有异常的包
public class ExceptionCatchConfig {
}
3.事务回滚
@Configuration
public class BusinessException extends RuntimeException{
public BusinessException() {
super();
}
@Bean
public PlatformTransactionManager devTransactionManager(DataSource sitDataSource) {
return new DataSourceTransactionManager(sitDataSource);
}
}
4.使用
@Transactional("devTransactionManager")
打在方法上或者类上