使用StringRedisTemplate,键和值都需要是String类型,由Redis提供的String类型序列化器
使用RedisTemplate,键和值都是Object类型,由JDK提供的序列化器(使用Redis可视化工具查看会乱码)
使用自定义RedisTemplate
创建RedisTemplate配置类
注入引用RedisTe...
redis缓存中已经存在数据,但此时修改数据库,如果前端再从缓存中获取数据会造成数据不一致。
可以更新数据库时同时更新缓存。
可以更新数据库时删除缓存,让请求到数据库中获取,让后将新数据更新到缓存中。
原因:
有些接口没有实现,前端拿不到数据,控制台已经报错了,所以按下去没有反应。
检查方法:
F12 ---> consle控制台 ;按下按钮后会报错红字显示前端页面哪个数据没有拿到,然后检查相应的接口有没有写
我的是这个接口没有写,“根据房间id获取可选支付方式列表”,在“package com.atguigu.lease.web.app.co...
1. [根据类型]查询标签列表
在LabelController中增加如下内容
@Operation(summary = "(根据类型)查询标签列表")
@GetMapping("list")
public Result<List<LabelInfo>> labelList(@RequestParam(required = false...
方法上增加@Async注解
SpringBoot启动类上增加@EnableAsync注解
执行该方法时就会启动新的线程处理
@Override
//异步操作,Spring提供的新建线程的注解,这要执行这个方法SpringBoot就会启动一个新的线程来处理,也要在SpringBoot启动类上增加注解@EnableAsync
@Async
...
xml文件<和>的转义
由于xml文件中的<和>是特殊符号,需要转义处理。
原符号
转义符号
<
<
>
>
7.4.2.2 接口开发
首先在LoginController中注入LoginService,如下
@RestController
@Tag(name = "登录管理")
@RequestMapping("/app/")
public class LoginController {
@Autowired
private LoginServi...
拦截器解析token后直接存储在线程本地变量当中,之后的controller,Service,Mapper都可以直接获取用户信息了
编写ThreadLocal工具类
理论上我们可以在Controller方法中,使用@RequestHeader获取JWT,然后在进行解析,如下
@Operation(summary = "获取登陆用户个人信息")
@GetM...
编写HandlerInterceptor
创建一个拦截器类实现HandlerInterceptor接口
主要有三大方法
preHandle(..) — callback before the actual handler is run that returns a boolean. If the method returns true, executio...
带签名的JWT叫JWS
登录接口需要为登录成功的用户创建并返回JWT,本项目使用开源的JWT工具Java-JWT,配置如下,具体内容可参考官方文档。
引入Maven依赖
在common模块的pom.xml文件中增加如下内容
<dependency>
<groupId>io.jsonwebtoken</groupI...
官方文档:https://gitee.com/ele-admin/EasyCaptcha
<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
</depe...
https://www.bilibili.com/video/BV1At421K7gP?p=139&spm_id_from=pageDriver&vd_source=2f88c79898ac6db8b9db2d2439d8c6b0
Mybatis-Plus update strategy
使用Mybatis-Plus提供的更新方法时,若实体中的字段为null,默认情况下,最终生成的update语句中,不会包含该字段。若想改变默认行为,可做以下配置。
全局配置
在application.yml中配置如下参数
mybatis-plus:
global-config:
db-co...
知识点:
密码处理
用户的密码通常不会直接以明文的形式保存到数据库中,而是会先经过处理,然后将处理之后得到的"密文"保存到数据库,这样能够降低数据库泄漏导致的用户账号安全问题。
密码通常会使用一些单向函数进行处理,如下图所示
常用于处理密码的单向函数(算法)有MD5、SHA-256等,Apache Commons提供了一个工具类...