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

问题

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

原因

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

解决

提前实例化拦截器

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

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

java 复制代码
    //提前实例化拦截器
    @Bean
    public LoginUserInterceptor getLoginUserInterceptor(){
        return new LoginUserInterceptor();
    }
相关推荐
FIN技术铺2 小时前
Redis集群模式之Redis Sentinel vs. Redis Cluster
数据库·redis·sentinel
CodingBrother4 小时前
MySQL 中的 `IN`、`EXISTS` 区别与性能分析
数据库·mysql
代码小鑫4 小时前
A027-基于Spring Boot的农事管理系统
java·开发语言·数据库·spring boot·后端·毕业设计
小小不董4 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
甄臻9244 小时前
Windows下mysql数据库备份策略
数据库·mysql
内蒙深海大鲨鱼4 小时前
qt之ui开发
数据库·qt·ui
Wlq04154 小时前
分布式技术缓存技术
分布式·缓存
不爱学习的YY酱5 小时前
【计网不挂科】计算机网络第一章< 概述 >习题库(含答案)
java·数据库·计算机网络
这样の我5 小时前
hbase集成phoenix
大数据·数据库·hbase
安静读书6 小时前
MongoDB 详解:深入理解与探索
数据库·mongodb