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

问题

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

原因

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

解决

提前实例化拦截器

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

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

java 复制代码
    //提前实例化拦截器
    @Bean
    public LoginUserInterceptor getLoginUserInterceptor(){
        return new LoginUserInterceptor();
    }
相关推荐
Z***G47916 小时前
【零基础学Mysql】常用函数讲解,提升数据操作效率的利器
数据库·mysql
q***064717 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
aml258__17 小时前
MySQL 数据库管理入门:从创建到删除(T1)
数据库·mysql·oracle·初学数据库
悦悦欧呐呐呐呐17 小时前
数据库事务是什么,怎么用的
服务器·数据库·oracle
q***649717 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
忘记92617 小时前
mybatis是什么
数据库·oracle·mybatis
q***925117 小时前
Springboot3 Mybatis-plus 3.5.9
数据库·oracle·mybatis
q***474317 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
傻啦嘿哟18 小时前
物流爬虫实战:某丰快递信息实时追踪技术全解析
java·开发语言·数据库
optimistic_chen18 小时前
【Redis 系列】Redis详解
linux·数据库·redis·缓存·xsheel