1.包的扫描
当该模块需要的配置类在同一个包下时启动类不需要添加扫描,不在同一个包下时需要添加扫描注解:@ComponentScan
@MapperScan用来扫描同一个包下的mapper
@Configuration
@MapperScan("com.atguigu.eduservice.mapper")
public class EduConfig {
/**
* 逻辑删除插件
* @return
*/
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
}
2.整合swagger接口
3.@RequestBody/@ResponseBody
- @RequestBody用于将前台的json数据封装为对象。使用此注解必须使用post提交方式。@RequestBody(required = false) 表示此数据可以不存在
- @ResponseBody表示返回数据为json格式,一般和@Controller合并为@RestController使用
4.全局异常处理
在公共类中建立handler
/**
* 统一异常处理类
*/
@ControllerAdvice
public class GlobalExceptionHandler {
//指定要处理的异常,这里处理所有类型的异常
@ExceptionHandler(Exception.class)
//返回json数据
@ResponseBody
public R error(Exception e) {
e.printStackTrace();
return R.error().message("执行了全局异常处理------");
}
}
5.逻辑删除@TableLogic
@TableLogic注解表示逻辑删除
- 效果:在字段上加上这个注解再执行BaseMapper的删除方法时,删除方法会变成修改
- 没有@TableLogic注解调用deleteById/removeById,直接删除数据。
SQL:delete from table where id = 1
有注解走Update方法
SQL:Update table set isDelete = 1 where id = 1
6.日志级别
日志记录器(Logger)的行为是分等级的。如下表所示:
分为:
- OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
默认情况下,spring boot从控制台打印出来的日志级别只有INFO及以上级别,可以在application.yml配置日志级别
# 设置日志级别
logging.level.root=WARN
日志工具:
- logback
使用方法,resources 中创建 logback-spring.xml。
在GlobalExceptionHandler.java 中加上@Slf4j - log4j