SpringBoot——拦截器

用过Spring的肯定都知道拦截器,在SpringBoot中使用拦截器和以前Spring框架使用拦截器是一样的

唯一的不同就是以前是xml配置文件来配置拦截器,而SpringBoot是使用java代码来配置拦截器

关于拦截器的基本用法请参考:https://blog.csdn.net/u010837612/article/details/45364699,下面来讲SpringBoot如何配置拦截器

首先先写好两个拦截器 A 和 B:

package com.example.demo.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AInterceptor implements HandlerInterceptor{

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        System.out.println("放行...");
        return true;
    }
}

B:

package com.example.demo.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class BInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        System.out.println("不放行...");
        return false;
    }
}

创建一个类实现WebMvcConfigurer 接口,加上@Configuration 注解:

package com.example.demo.interceptor;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebMvcConfiturer implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //addPathPatterns 配置要拦截的地址
        registry.addInterceptor(new AInterceptor()).addPathPatterns("/*/**");
        registry.addInterceptor(new BInterceptor()).addPathPatterns("/*/**");
    }
}

SpringBoot就是使用上面这段代码来取代了以前的xml配置文件。其他用法都是和以前是一样的,这里就不再阐述了。如有不明白的,请参考本文开头给出的链接。

猜你喜欢

转载自blog.csdn.net/u010837612/article/details/80355276