【博客项目】
跟着 https://www.bilibili.com/video/BV1Gb4y1d7zb/?spm_id_from=333.337.search-card.all.click&vd_source=a56e9c2852c4b906ac796aa4c61964ec
做的一个笔记总结
P1-P9
VO(View Object): 视图对象,用于展示层,它的作用是把制定页面的所有数据封装起来(只返回页面需要的,不需要返回全部)
pojo和数据库对应,vo和json对应
@AllArgsConstructor 作用?
@AllArgsConstructor 是lombok中的注解,作用在类上;
使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数;
LambdaQueryWrapper作用
这是mybatis plus 的一个功能组件,对单表的操作非常的简洁
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbnVBAI2-1666771850489)(D:/GitCode/tuchuang/img/image-20221019174435297.png)]
BeanUtils.copyProperties(article,articleVo) 属性赋值
MyBatis写SQL语句没有提示的解决方法!
https://blog.csdn.net/weixin_46022083/article/details/118142062
CollectionUtils.isEmpty()为空判断
@ControllerAdvice统一异常处理
对加了@Controller注解的方法进行拦截处理,其实就是一个开发好的AOP
dos对象
dos也是数据库里查出来的 ,但通常不进行持久化
@RequestBody
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rNskYsyc-1666771850490)(D:/GitCode/tuchuang/img/image-20221021093651446.png)]
P10-P15 登录注册
JWT技术(json web token)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QFYrPp2L-1666771850491)(D:/GitCode/tuchuang/img/image-20221019204306050.png)]
private static final String jwtToken = "123456Mszlu!@#$$";
public static String createToken(Long userId){
Map<String,Object> claims = new HashMap<>();
claims.put("userId",userId);
JwtBuilder jwtBuilder = Jwts.builder()
.signWith(SignatureAlgorithm.HS256, jwtToken) // 签发算法,秘钥为jwtToken
.setClaims(claims) // body数据,要唯一,自行设置
.setIssuedAt(new Date()) // 设置签发时间
.setExpiration(new Date(System.currentTimeMillis() + 24 * 60 * 60 * 60 * 1000));// 一天的有效时间
String token = jwtBuilder.compact();
return token;
}
// 解析token
public static Map<String, Object> checkToken(String token){
try {
Jwt parse = Jwts.parser().setSigningKey(jwtToken).parse(token);
return (Map<String, Object>) parse.getBody(); //解析成功 返回body数据
}catch (Exception e){
e.printStackTrace();
}
return null;
}
JWT使用方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7dIFC1y-1666771850492)(D:/GitCode/tuchuang/img/image-20221019205502780.png)]
md5加密的依赖包:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
@RequestHeader(“Authorization”) String token
SpringMVC提供了@RequestHeader注解,可以将请求头中变量值映射到控制器的参数中。如下例子:将请求头中的变量值token映射到控制器参数token中
获取头部信息