springboot篇章整体栏目:


【一】springboot整合swagger(超详细

【二】springboot整合swagger(自定义)(超详细)

【三】springboot整合token(超详细)

【四】springboot整合mybatis-plus(超详细)(上)

【五】springboot整合mybatis-plus(超详细)(下)

【六】springboot整合自定义全局异常处理

【七】springboot整合redis(超详细)

【八】springboot整合AOP实现日志操作(超详细)

【九】springboot整合定时任务(超详细)

【十】springboot整合redis实现启动服务即将热点数据保存在全局以及redis(超详细)

【十一】springboot整合quartz实现定时任务优化(超详细)

【十二】springboot整合线程池解决高并发(超详细,保你理解)

【十三】springboot整合异步调用并获取返回值(超详细)

【十四】springboot整合WebService(超详细)

【十五】springboot整合WebService(关于传参数)(超详细)

【十六】springboot整合WebSocket(超详细)

【十七】springboot整合WebSocket实现聊天室(超详细)

【十八】springboot实现自定义全局异常处理

【十九】springboot整合ElasticSearch实战(万字篇)

【二十】springboot整合过滤器实战

【二十一】springboot整合拦截器实战并对比过滤器

【二十二】springboot整合activiti7(1) 实战演示篇

【二十三】springboot整合spring事务详解以及实战

【二十四】springboot使用EasyExcel和线程池实现多线程导入Excel数据

【二十五】springboot整合jedis和redisson布隆过滤器处理缓存穿透


介绍:接下来我会把学习阶段学到的框架等知识点进行整合,每一次整合是在前一章的基础上进行的,所以后面的整合不会重复放前面的代码。每次的demo我放在结尾,本次是接着上一章的内容延续的,只增加新增的或者修改的代码。

上一章对全局异常进行了整合,可以处理统一抛出错误。

1、这章整合redis,用redis存储token,实现一个用户只保存一个token,登录接口再次获取一个新的token后,前一个token则无法使用,解决一个用户可以多次登录的问题。

2、实现用户登录3次就锁定用户账户,无法再请求登录接口。

qq交流群导航——>231378628

先展示一下目录结构:

第一步:修改yml配置文件

注意:是在spring:下面,database是选择存在第几个库,如下:

此处我选择的是“1”,所以存在为“1”的库。

redis的密码在安装时已经设置,也可以为空。若未安装redis,请在csdn寻找大佬的安装教程,不复杂。

第二步:新增redis操作工具类

@Component
public class RedisUtils {@Autowiredprivate RedisTemplate<String, String> redisTemplate;/*** 读取缓存** @param key* @return*/public String get(final String key) {return redisTemplate.opsForValue().get(key);}/*** 写入缓存*/public boolean set(final String key, String value) {boolean result = false;try {redisTemplate.opsForValue().set(key, value);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*** 写入缓存,并设置过期时间** @param key* @param value* @param timeout* @param unit* @return*/public boolean set(final String key, String value, long timeout, TimeUnit unit) {boolean result = false;try {redisTemplate.opsForValue().set(key, value, timeout, unit);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*** 更新缓存*/public boolean getAndSet(final String key, String value) {boolean result = false;try {redisTemplate.opsForValue().getAndSet(key, value);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*** 删除缓存*/public boolean delete(final String key) {boolean result = false;try {redisTemplate.delete(key);result = true;} catch (Exception e) {e.printStackTrace();}return result;}
}

不一定用这个,网上到处有很多更详细的工具类,按需使用。

第三步:改造token拦截器

原来的代码(上几章都有代码):

改造:

注入redis工具类。

修改方法。

到此实现了一个用户只存在一个token的效果,下面改造登录实现类代码,如下:

​ 把登陆失败的次数存入redis,若达到3次则直接抛出异常,不再请求接口。

第三步:演示

输入正确账号密码。

将此token拿去请求接口,请求成功

重新请求登录接口,生成新的token,拿去请求刚才的接口,新token可以请求成功,旧的token无法再请求成功。

用正确的账户错误的密码登录。

错误三次之后。

本期整合到此完毕,接下来会继续更新加强整合,尽情期待。

访问地址:http://localhost:8088/swagger-ui.html或者http://localhost:8088/doc.html

demo地址:studydemo/整合swagger at main · zrc11/studydemo · GitHub

码字不易,若帮到各位,帮忙三连,感谢

【七】springboot整合redis(超详细)相关推荐

  1. SpringBoot整合Mybatis超详细流程

    SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...

  2. 一篇掌握SpringBoot+SpringCache+Redis超详细实例

    1.创建maven项目 2.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  3. SpringBoot整合SpringSecurity [超详细] (一)入门案例

    文章目录 前言 1. 主流安全框架有哪些 2. Spring Security为什么越来越火 3. 为什么现在越来越多的人选择Spring Security 一.Spring Security 简介 ...

  4. 《SpringBoot篇》26.SpringBoot整合Jackson超详细教程(附Jackson工具类)

    陈老老老板

  5. SpringBoot 整合 Redis 使用详解(StringRedisTemplate 和 RedisTemplate 对比分析)

    背景: 最近项目采用前后端分离的架构,单点登录系统采用Redis存储用户session信息,在这里总结下springboot整合redis的详细过程,以及部分源码分析 1.前期准备 首先保证安装好re ...

  6. Redis超详细学习

    Redis超详细学习 一.Redis入门 Redis是什么? Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内 ...

  7. SpringBoot整合redis实现简单的操作demo

    SpringBoot中整合Redis 将用户频繁访问的内容存放在离用户最近,访问速度最快的地方,提高用户的响应速度,今天先来讲下在springboot中整合redis的详细步骤. 1.安装步骤 安装步 ...

  8. SpringBoot整合Redis+mybatis,封装RedisUtils工具类等实战(附源码)

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 作者:陈彦斌 cnblogs.com/chenyanbin/ ...

  9. SpringBoot第九篇: springboot整合Redis

    这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis. 引入依赖: 在pom文件中添加redis依赖: <dependen ...

最新文章

  1. Django博客系统(博客保存)
  2. iOS10 推送必看 UNNotificationContentExtension
  3. Postgres-XL部署记录(一)
  4. xftp传输文件错误解决办法
  5. xay loves or 异或
  6. Hi3516A开发-- OSD功能实现
  7. 2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系
  8. java获取请求的url地址
  9. 同一个页面同时get post_get与post的区别
  10. C#生成CHM文件(应用篇)
  11. MemSQL分布式架构介绍(二)
  12. python保存h264格式视频(linux和windows)
  13. 一个权限管理系统设计案例
  14. python动作捕捉_打破价格垄断,工程师自制动作捕捉系统-嵌入式系统-与非网
  15. pnpm安装使用教程以及pnpm node版本管理以及EPERM operation not permitted symlink问题解决
  16. 西南大学计算机学院推免,2019年西南大学计算机与信息科学学院硕士研究生拟录取名单的公示(不含推免生)...
  17. Android画板开发(二) 橡皮擦实现
  18. CDR2023软件最新版有哪些新增功能?
  19. 使用unittest框架做单元测试------基础版本
  20. 电脑网页如何安装扩展插件在线观看抖音短视频

热门文章

  1. mysql 连接方法_MySQL 四种连接方式(通信方式)
  2. iOS RTMP 视频直播开发笔记(3)- 了解 H.264 编码
  3. 解决angularjs图片加载失败
  4. 【C++ 11】 error C3861: ‘_beginthreadex‘: identifier not found
  5. 非主流大数据技术工具,主要有哪几个?
  6. 2021年六一儿童节,有哪些想送给孩子们的祝福?
  7. 离散数学学习笔记——第五讲——谓词逻辑(第二部分)(3.8 前束范式)
  8. 今天是某年、某月、某日
  9. overwrite java_Java中的Override, Overload和Overwrite
  10. 闲云控制台(一)控制台命令解析框架