关于redisTemplate的使用遇到的问题

今天在写短信接口的时候遇到了一写问题,做一个记录。

写储存短信验证码的工具类时,方法都是定义静态的,注入redisTemplate类时出现了问题。

在解决这个问题前,我先去仔细地了解了下 关于注入的几个注解

Autowired:自动注入,自动从spring的上下文找到合适的bean来注入;
Resource:用来指定bean名称注入;
Qualifier和Autowired配合使用:指定bean的名称来注入;

所以我的解决办法就是这样:

@Autowired
private static RedisTemplate redisTemplate

加了static修饰

然后在静态方法里面调用的时候就会间接的报空指针异常的错误

关于为什么注入不能用静态修饰我后来了解了,至于为什么我看到一篇博客写的很好
https://blog.csdn.net/qq_43842093/article/details/121062551?spm=1001.2014.3001.5506

由于刚入门的水平能力比较差,询问了其他人之后他告诉我可以手动注入(用构造方法来注入)来写

private static RedisTemplate redisTemplate = null
public Demo1(@Qualifier("redisTemplate") RedisTemplate redisTemplates){
redisTemplate = redisTemplates }

这么写之后在调用就不会报空指针异常了,我在网上看到其他人的解决办法
https://www.jianshu.com/p/47078f33412e
看起来挺靠谱的 还没试过,有空的时候看看。

上一篇:Windows内核编程学习1:构建HelloWorld


下一篇:数据类型