posts - 2,comments - 0,views - 760

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

写储存短信验证码的工具类时,方法都是定义静态的,注入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
看起来挺靠谱的 还没试过,有空的时候看看。

posted on   初冬久不遇丶  阅读(734)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

1
点击右上角即可分享
微信分享提示