SpringBoot配置拦截器

SpringBoot Web依赖包包含了拦截器,
Spring中的拦截器 指的是SpringMVC提供的HandlerInterceptor
SpringBoot配置拦截器,只需要2步

1.自定义一个拦截器类

示例代码
MyInterceptor.java

package cn.lzh.kam.interceptor;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Slf4j
public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response, Object handler) throws Exception {
        log.info("preHandler方法在请求发生前执行");
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response,
                           Object handler, ModelAndView modelAndView) throws Exception {
        log.info("postHandle方法在请求完成后执行");
    }
}

2.JavaConfig方式配置刚刚的拦截器生效

示例代码
InterceptorCfg.java

package cn.lzh.kam.interceptor;

import org.springframework.context.annotation.Bean;
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 InterceptorCfg implements WebMvcConfigurer {
    @Bean
    public MyInterceptor myInterceptor(){
        return new MyInterceptor();
    }
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(myInterceptor());
    }
}
posted @ 2022-08-21 15:42  silent_fall  阅读(454)  评论(0)    收藏  举报