看了很多地方 发现都不是我的问题
@Component
public class CountInterceptor implements HandlerInterceptor {
@Resource(name = "stringRedisTemplate")
StringRedisTemplate stringRedisTemplate;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestURI = request.getRequestURI();
stringRedisTemplate.opsForValue().increment(requestURI);
return true;
}
}
然后把上面的拦截器直接new出来的 这个时候new的拦截器不会从容器中取StringRedisTemplate 所以stringRedisTemplate会报空指针异常 所以正确的做法是在配置类里面用@Resource或者@Autowired自动注入