spring-boot中的WebMvcConfigurerAdapter类提供了很多自定义操作的方法,先贴出来大家看看

 package org.springframework.web.servlet.config.annotation;

 import java.util.List;
import org.springframework.format.FormatterRegistry;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.validation.MessageCodesResolver;
import org.springframework.validation.Validator;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
import org.springframework.web.servlet.HandlerExceptionResolver; public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {
public WebMvcConfigurerAdapter() {
} public void configurePathMatch(PathMatchConfigurer configurer) {
} public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
} public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
} public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
} public void addFormatters(FormatterRegistry registry) {
} public void addInterceptors(InterceptorRegistry registry) {
} public void addResourceHandlers(ResourceHandlerRegistry registry) {
} public void addCorsMappings(CorsRegistry registry) {
} public void addViewControllers(ViewControllerRegistry registry) {
} public void configureViewResolvers(ViewResolverRegistry registry) {
} public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
} public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) {
} public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
} public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
} public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {
} public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {
} public Validator getValidator() {
return null;
} public MessageCodesResolver getMessageCodesResolver() {
return null;
}
}

如上代码的实现都是空的,也就是说我们想要完成自定义一些操作,只需要重写这个类中对应的方法,就可以实现

比如昨晚写了篇自定义springboot的消息转换器,其中的一种实现就是通过重写这个类的方法

下边贴一下重写addInterceptors从而实现自定义拦截器的demo

 package com.itcast.springboot;

 import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* @Author : Hellxz
* @Description:自定义拦截器
* @Date : 2018/4/8 12:36
*/
@Configuration
public class MyInterceptor extends WebMvcConfigurerAdapter {
/**
* @Author: Hellxz
* @Description: 添加自定义拦截器
* @Date: 2018/4/8 12:39
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
/**
* 自定义handlerInterceptor,匿名内部类,也可以单独提出来一个类
*/
HandlerInterceptor handlerInterceptor = new HandlerInterceptor() {
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
System.out.println("—————进入拦截器");
return true;
} @Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
} @Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
};
//将这个handler添加到签名认证拦截器中
registry.addInterceptor(handlerInterceptor);
// 添加拦截uri
// registry.addInterceptor(handlerInterceptor).addPathPatterns("/user/**");
super.addInterceptors(registry);
} }

spring-boot添加自定义拦截器的更多相关文章

  1. Spring Boot配置拦截器及实现跨域访问

    拦截器功能强大,能够深入方法前后,常应用于日志记录.权限检查和性能检测等,几乎是项目中不可或缺的一部分,本文就来实现Spring Boot自定义拦截器的配置. 理论指导 问:Spring Boot怎么 ...

  2. spring boot 使用拦截器,注解 实现 权限过滤

    http://www.cnblogs.com/zhangXingSheng/p/7744997.html spring boot 使用拦截器 实现 用户登录拦截 http://www.cnblogs. ...

  3. spring boot 添加拦截器的简单实例(springBoot 2.x版本,添加拦截器,静态资源不可访问解决方法)

    spring中拦截器主要分两种,一个是HandlerInterceptor,一个是MethodInterceptor 一.HandlerInterceptor HandlerInterceptor是s ...

  4. Spring Boot整合拦截器

    过滤器和监听器都属于Servlet 的api,还可以使用 Spring 提供的拦截器(HandlerInterceptor)进行改更精细的控制.

  5. spring boot 添加拦截器

    构建一个spring boot项目. 添加拦截器需要添加一个configuration @Configuration @ComponentScan(basePackageClasses = Appli ...

  6. 【第四十章】Spring Boot 自定义拦截器

    1.首先编写拦截器代码 package com.sarnath.interceptor; import javax.servlet.http.HttpServletRequest; import ja ...

  7. spring boot的拦截器简单使用

    1.spring boot拦截器默认有: HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationIntercept ...

  8. Spring Boot之拦截器与过滤器(完整版)

    作者:liuxiaopeng 链接:http://www.cnblogs.com/paddix 作者:蓝精灵lx原文:https://blog.csdn.net/liuxiao723846/artic ...

  9. Spring Boot (20) 拦截器

    动态资源和静态资源 拦截器可以算是aop的一种实现,专门拦截对动态资源的后台请求,也就是拦截对控制层的请求,主要用于判断用户是否有权限请求后台.拦截器不会拦截静态资源,如spring boot默认静态 ...

  10. Spring boot自定义拦截器和拦截器重定向配置简单介绍

    大家好: 本文简单介绍一下用于权限控制的Spring boot拦截器配置,拦截器重定向问题. 开发工具:jdk1.8   idea2017(付费版,网上找的破解教程) 1,首先使用idea创建一个Sp ...

随机推荐

  1. visual stdio2013软件安装及单元测试

    visual stdio2013软件安装及单元测试 一.visual stdio2013软件安装详解 今天,笔者为大家带来如何在Windows10下完美安装Visual Studio 2013专业版. ...

  2. 消息队列第二篇:MessageQueue实战(课程订单)

    上一篇:消息队列介绍 本篇一开始就上代码,主要演练MessageQueue的实际应用.用户提交订单(消息发送),系统将订单发送到订单队列(Order Queue)中:订单管理系统(消息接收)端,监听消 ...

  3. Profibus基础知识学习——报文

    转自:http://bbs.ednchina.com/BLOG_ARTICLE_3031246.HTM Profibus DP通讯协议简单介绍 一. 首先,Profibus DP通讯协议是一种单一的. ...

  4. 笔记:EF出现列名 'Discriminator' 无效、类没有加入数据库上下文也被数据迁移生成表

    笔记: EF出现列名 'Discriminator' 无效: 类没有加入数据库上下文也被数据迁移生成表: 出现该问题一般是使用了某个基类继承了实体类: 原因是code first的POCO实体对象的继 ...

  5. Effective Modern C++翻译(6)-条款5:auto比显示的类型声明要更好

        在概念上说,auto关键字和它看起来一样简单,但是事实上,它要更微妙一些的.使用auto会让你在声明变量时省略掉类型,同时也会防止了手动类型声明带来的正确性和性能上的困扰:虽然按照语言预先定义 ...

  6. 个人作业-week3案例分析

    第一部分 软件调研测评(必应词典移动端) 找到的bug: 在词汇量测试中每个单词给用户思考的时间太短,只有五秒钟.导致很多似曾相识的单词还没来得及想起就已经过了.如果说测的是用户记忆深刻的单词,那些记 ...

  7. Apache优化之多路处理模块理解

    前言: 当项目被多人访问时导致访问数度变慢,查了许多资料,了解到Apache的核心模块——MPM(多路处理访问模块).在此对MPM的一些知识点进行整理. MPM_WINNT模块 windows系统使用 ...

  8. 面试问题总结二(技术能力-PHP)----Ⅲ

    42.什么是单点登录? 答:单点登录 SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信 ...

  9. Oracle Instant Client

    下载地址: https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/ind ...

  10. PHP导出sql文件

    发现自己之前写的php导出sql数据为Excel文件在导出一些数据的时候出现了精度的问题,比如导出身份证号的时候会把后面变成0000.暂时先把这个问题留下,有空去看看到底是什么问题. 写了一个导出sq ...