500 Star 6.2K Fork 1.7K

GVPanji-plus / AJ-Captcha

 / 详情

CaptchaCacheServiceRedisImpl内的StringRedisTemplate无法注入

待办的
创建于  
2021-11-25 17:25

CaptchaCacheServiceRedisImpl 是通过spi加载初始化的 并未走spring 的bean初始化 依赖注入等流程,所以StringRedisTemplate 为null
可在构造器中从Spring容器中获取set属性 或代码块内赋值
Demo中的Spring-Boot项目并未获取,看到曾有人提过这个问题 确实存在 master分支
建议修改配置aj.captcha.cache-type=redis 跑一下 缓存值的时候会出现NullPointException 的

评论 (7)

Challen.Zhang 创建了任务

兄弟解决了吗? 我也遇到这个问题

不要看文档,引入
com.anji-plus
spring-boot-starter-captcha
1.3.0
这个就解决了

我自己改了 我是在代码块里面赋值的

没有用,改了1.3.0这个版本还是空指针异常,引入自己的redisService也是空指针异常

可以自己注入一个redisService

// private StringRedisTemplate stringRedisTemplate;
private static final StringRedisTemplate stringRedisTemplate = SpringContextUtils
.getBean("stringRedisTemplate", StringRedisTemplate.class);
我是这么解决的,他给的实现类无法自动创建bean,包括配置文件中如果开启了req-frequency-limit-enable的话也会在这个地方出现redis无法加载的情况,更改StringRedisTemplate 的创建方式就可以了

都可以的,方法很多 能用就好啦

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(4)
5528078 han qingsong 1623402565
JavaScript
1
https://gitee.com/anji-plus/captcha.git
git@gitee.com:anji-plus/captcha.git
anji-plus
captcha
AJ-Captcha

搜索帮助