【Spring Boot】拦截器 Interceptor 🔥

1,603 阅读1分钟

拦截器

Spring的拦截器HandlerInterceptor基于Java的反射机制,属于面向切面编程(AOP)的一种运用。

举例

@Component
public class DemoInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(
        HttpServletRequest request,
        HttpServletResponse response,
        Object handler) throws Exception {
        // 执行方法(controller)前的一些操作
    }
    @Override
    public void postHandle(
        HttpServletRequest request, 
        HttpServletResponse response, 
        Object handler, 
        ModelAndView modelAndView) throws Exception {
        // 执行方法(controller)后的一些操作
    }
}

Interceptor会在Filter之后执行。

其他

Spring Boot内置了很多拦截器。

场景

比较推荐使用拦截器对请求的前后进行处理,而Filter的功能更为广泛。