SpringBoot2.1.X redis保存session 共享session的一些坑...报错

关于springboot session保存到redis,百度一大堆,各种博客也都是一大堆。

但有一点是他们的文章都是很早以前的,或者是版本都是很低的。

如果您使用的是比较新的springboot  那么你可以继续看此文章

我个人喜欢用新的,因为我相信东西都会越升级越完美,不断迭代。


开始正题,先说一下我遇到的问题。

按照网上所说的,首先引入spring-session-data-redis依赖

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>2.1.3.RELEASE</version>
</dependency>

然后在application配置文件里设置

spring.session.store-type=redis

就经过简简单单的这两步,然后启动项目......就OK了

然而并没有,他们 (其他博客的人) 都可以启动。而我报错了。

报错代码如下:

java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration.taskScheduler

Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration] 

Caused by: java.lang.NoClassDefFoundError: org/springframework/security/web/authentication/RememberMeServices

java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration]

一大串的报错,我很懵.....


原因(自己分析非专业):SpringBoot2.1.+版本太高 

解决方案 一:引入Security即可解决 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

解决方案 二:把SpringBoot换位更低版本 如2.0.5 即可解决问题。

我的环境是SpringBoot2.1.5,我使用的是第一种解决方案。

至于为什么要引入security才可以解决,具体原因我也不是很清楚。猜测下 可能是为了安全?

引入了security之后访问请求会有一个验证要输入,具体的解决方法大家可以去百度下(网上超多解决方案)

然后我是一个小白,如果有大神觉得我哪里说的不对或者不好。请指正

如果你也感兴趣的话 我们也可以一起讨论。

最后,祝大家能够工作顺利,学习顺利。一起加油 (*^__^*) 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值