踩坑记录:
因需在过滤去查询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 ,暂做记录。