springboot整合拦截器

83 阅读1分钟

方式一

创建一个拦截器

@Slf4j
public class MyInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("--------------------执行拦截器-----------------------");
        return true;
    }
}

创建一个配置类 用于向容器中注入拦截器

@Configuration
public class InteceptorConfig implements WebMvcConfigurer {
    // 通过实现WebMvcConfigurer并重写方法获取拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {

       // addPathPatterns()指定拦截什么请求  这里是拦截test下面所有的请求
       registry.addInterceptor(new MyInterceptor()).addPathPatterns("/test/**");

    }
}

方式二 通过@Component 和 @Resource注解

@Slf4j
@Component
public class MyInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("--------------------执行拦截器-----------------------");
        return true;
    }
}
@Configuration
public class InteceptorConfig implements WebMvcConfigurer {
    @Resource
    private MyInterceptor myInterceptor;
    // 通过实现WebMvcConfigurer并重写方法获取拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {

       // addPathPatterns()指定拦截什么请求  这里是拦截test下面所有的请求
       registry.addInterceptor(myInterceptor).addPathPatterns("/test/**");

    }
}