Spring Boot 过滤器注入redis为null

踩坑记录:

因需在过滤去查询redis中的用户登录信息,使用@Autowired 注解注入发现为null,后百度说要使用@Resource 注解注入依然未解决问题。

后想到可能是ioc加载顺序的原因,解决办法如下:

private RedisTemplate redisTemplate;

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        if (redisTemplate == null) {
            ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(filterConfig.getServletContext());
            redisTemplate = (RedisTemplate)context.getBean("redisTemplate");
            System.out.println(redisTemplate);
        }
    }

 不知道StringRedisTemplate 和 RedisTemplate 具体有什么区别,因为如上代码如果使用StringRedisTemplate则启动报错。

后续再了解其两者区别,这里要是用RedisTemplate ,暂做记录。

你可能感兴趣的:(日常,java,spring,spring,boot)