在拦截器中使用redis报错空指针

问题

当在拦截器中使用 redis 时,获取不到 RedisTemplate 对象

原因

拦截器在SpringContext初始化之前就执行了,即Bean初始化之前它就执行了,所以肯定是无法获取SpringIOC容器中的内容的

解决

提前实例化拦截器

在配置类里面先实例化拦截器,然后在添加拦截器时获取已实例化的拦截器Bean即可

注意,实例化后,下面注册拦截器要使用实例化的方法
registry.addInterceptor(getLoginUserInterceptor())

java 复制代码
    //提前实例化拦截器
    @Bean
    public LoginUserInterceptor getLoginUserInterceptor(){
        return new LoginUserInterceptor();
    }
相关推荐
浮生若城2 小时前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦2 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界2 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
code2cat2 小时前
【随笔】KV缓存量化:省下的显存,要付出多少数值误差
人工智能·缓存·大语言模型
csdn_aspnet2 小时前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
山甫aa3 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
IT规划师3 小时前
Redis 数据类型全解 - HyperLogLog:12 KB 估出亿级 UV(八)
redis·uv·hyperloglog·.net10
Pniubi4 小时前
缓存击穿的解决方案
缓存
Nturmoils14 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库