Spring基础面试题(三)
1. JWT令牌由哪几个部分组成,每一个部分都表示什么含义? 存储什么样的数据?
三部分组成,
1.Header:存储的是令牌的类型,原始数据是Json
2.Payload:载荷,存储的是自定义的数据,原始数据是Json
3.Signature:签名,防止Token被篡改确保安全,可以通过签名算法计算的。
2. 你们项目中的异常是如何处理的? 如何定义一个全局异常处理器 ? 全局异常处理器中是否可以定义多个方法来捕获不同类型的异常 ?
在类上定义一个@RestControllerAdvice的注解,声明这是一个全局异常处理器,其中@RestControllerAdvice = @ControllerAdvice + @ResponseBody,处理异常的方法返回值会转换为json后再响应给前端。定义多个方法可以捕获多个不同类型的异常。
3. Mybatis的映射配置文件定义的规范是什么 ? 项目开发中,你们的SQL是基于注解方式开发的还是XML映射配置文件开发的。
1.同包同名,与Mapper层对应的接口包名和接口名一致
2.方法与接口层定义的方法一致。
简单的增删查改用SQL注解,动态复杂的SQL会使用XML映射文件。