1. 程式人生 > 程式設計 >spring boot加入攔截器Interceptor過程解析

spring boot加入攔截器Interceptor過程解析

這篇文章主要介紹了spring boot加入攔截器Interceptor過程解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1.spring boot攔截器預設有

  • HandlerInterceptorAdapter
  • AbstractHandlerMapping
  • UserRoleAuthorizationInterceptor
  • LocaleChangeInterceptor
  • ThemeChangeInterceptor

2.配置spring mvc的攔截器WebMvcConfigurerAdapter

public class WebAppConfig extends WebMvcConfigurerAdapter 

3.實現新增攔截器方法

public void addInterceptors(InterceptorRegistry registry){ 
} 

registry.addInterceptor可以通過此方法新增攔截器,可以是spring提供的或者自己新增的

4.例項部分

public class WebAppConfig extends WebMvcConfigurerAdapter{  
  public static void main(String[] args) { 
    SpringApplication.run(WebAppConfig.class,args); 
  }  
   
  /** 
   * 配置攔截器 
   * @author lance 
   * @param registry 
   */ 
  public void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor(new UserSecurityInterceptor()).addPathPatterns("/user/**"); 
  } 
} 
 
UserSecurityInterceptor程式碼 
public class UserSecurityInterceptor implements HandlerInterceptor { 
 
  @Override 
  public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler) throws Exception { 
     
    return true; 
  }  
  @Override 
  public void postHandle(HttpServletRequest request,Object handler,ModelAndView modelAndView) throws Exception { 
  } 
 
  @Override 
  public void afterCompletion(HttpServletRequest request,Exception ex) 
      throws Exception { 
  } 
} 

5.demo地址

https://github.com/leelance/spring-boot-all/tree/master/spring-boot-samples

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。