Springbootはspringmvcインターセプターを統合し、ログレベルを設定します

1.ログレベルを設定します。

設定してもしなくても構いません
ここに画像の説明を挿入

2.Springbootはspringmvcインターセプターを統合します

ここに画像の説明を挿入
ここに画像の説明を挿入2.1カスタムインターセプター(HandlerInterceptorインターフェースの実装は問題ありません)。忘れた場合は、前のspringmvcを見てください。

package com.itheima.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;

/**
 * @author QLBF
 * @version 1.0
 * @date 2021/2/21 20:54
 */
@Slf4j
public class MyInterceptor implements HandlerInterceptor{
    
    
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    
    
        log.debug("这是MyInterceptor拦截器的preHandle方法");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
    
    
        log.debug("这是MyInterceptor拦截器的postHandle方法");

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
    
    
        log.debug("这是MyInterceptor拦截器的afterCompletion方法");

    }
}

2.2構成クラスを定義します(WebMvcConfigurerを実装し、構成クラスという名前の@Configurationテーブルを追加することを忘れないでください)。インターセプトする要求パスは、addPathPatternsで設定できます

その他の参考資料:構成された要求パスの記述方法

package com.itheima.config;

import com.itheima.interceptor.MyInterceptor;
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;

/**
 * @author QLBF
 * @version 1.0
 * @date 2021/2/21 20:58
 */

@Configuration
public class MvcConfig implements WebMvcConfigurer{
    
    

    /**
     * * 将拦截器注册到spring ioc容器
     * * @return myInterceptor(是自己创建的拦截器类)
     * */

    @Bean
    public MyInterceptor myInterceptor(){
    
    
        return new MyInterceptor();
    }

    /***
     * 重写该方法;往拦截器链添加自定义拦截器
     * * @param registry 拦截器链
     * */

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    
    
        //通过registry添加myInterceptor拦截器,并设置拦截器路径为 /*'
        //addPathPatterns("/*") 代表可以拦截所有请求
        registry.addInterceptor(myInterceptor()).addPathPatterns("/*/**");
    }
}

合計コード:
ここに画像の説明を挿入
test:ランチャークラスを開始
し、ブラウザーにhttp:// localhost:81 / hello1と入力します(インターセプターの構成クラスがすべてインターセプトされるため、このリクエストはインターセプトされます):
ここに画像の説明を挿入テストの成功

おすすめ

転載: blog.csdn.net/GLOAL_COOK/article/details/113923786