在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js、css等)。

@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {// super.addViewControllers(registry);//浏览器发送 /atguigu 请求来到 successregistry.addViewController("/atguigu").setViewName("success");}//所有的WebMvcConfigurerAdapter组件都会一起起作用@Bean //将组件注册在容器public WebMvcConfigurerAdapter webMvcConfigurerAdapter(){WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("login");registry.addViewController("/index.html").setViewName("login");registry.addViewController("/main.html").setViewName("dashboard");}//注册拦截器@Overridepublic void addInterceptors(InterceptorRegistry registry) {//super.addInterceptors(registry);//静态资源;  *.css , *.js//SpringBoot已经做好了静态资源映射registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/index.html","/","/user/login");}};return adapter;}@Beanpublic LocaleResolver localeResolver(){return new MyLocaleResolver();}}

在spring boot2.0+以后,WebMvcConfigurerAdapter就过时了,目前通过继承WebMvcConfigurationSupport类(ps:继承后好像MVC自动配置不生效了)或者实现WebMvcConfigurer接口来扩展springMVC的功能。然而该版本自定义的拦截器会拦截静态资源,因此在使用spring2.0+时,配置拦截器之后,我们要把静态资源的路径加入到不拦截的路径之中。

@Configuration
public class MyMvcConfig implements WebMvcConfigurer{@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("login");registry.addViewController("/index.html").setViewName("login");registry.addViewController("/main.html").setViewName("dashboard");}@Overridepublic void addInterceptors(InterceptorRegistry registry) {//将静态资源排除在拦截之外registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/index.html","/","/user/login","/static/**");}@Beanpublic LocaleResolver localeResolver(){return new MyLocaleResolver();}}

转载于:https://www.cnblogs.com/XtsLife/p/10488575.html

Spring Boot2.0+中,自定义配置类扩展springMVC的功能相关推荐

  1. 【redis】在spring boot2.0中使用redis的StringRedisTemplate 自动注入@Autowired

    1.使用opv.increment 达到增量的效果[判断某个用户 是第几次做这种操作] @RequestMapping("createCode") @RestController ...

  2. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

  3. 【spring boot基础知识】如何使用自定义配置类

    一.新建自定义配置类文件(.yml或.properties) PS:yml目前没整出来,此次仅记录.properties文件方式 红框里是自己建的,但有个问题是自己建好的配置文件前面的标识不是&quo ...

  4. 玩转 SpringBoot2.x 之自定义配置类整合Druid(Mybatis版)

    专题系列分类:玩转SpringBoot2.x系列教程 前言 在阅读前这篇博客之前请先移步 玩转 SpringBoot 2.x 整合 Mybatis因为我们这篇博客是在其基础之上进行讲解的.在玩转 Sp ...

  5. 避免在 ASP.NET Core 3.0 中为启动类注入服务

    本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0 类库转换为.NET Core 3.0 类库 Part 2 - IHostin ...

  6. 在php中自定义一个类的关键字为( ),精读《未来简史》尔雅章节测验答案

    精读<未来简史>尔雅章节测验答案 更多相关问题 [单选题]当采用环刀法取样时,取样点应位于每层土的()深度处. A. 1/2 B. 1/3 C. 1/4 D. 2/3 [填空题]OSI/R ...

  7. ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!

    在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...

  8. ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件

    在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...

  9. 在asp.net 2.0中使用SqlBulkCopy类迁移数据

    在asp.net 2.0中使用SqlBulkCopy类迁移数据 (转) http://jackyrong.cnblogs.com/archive/2005/08/29/225521.html 我们经常 ...

最新文章

  1. HTML5的学习,各个标签的尝试
  2. 【Android View绘制之旅】主脉络
  3. JS数组去重的6种算法实现
  4. Python搭建静态web服务器
  5. 数据结构与算法(C++)– 动态规划(Dynamic Programming)
  6. uml 继承_UML 完全解析和总结
  7. 正则表达式及其在python上的应用
  8. 关于Istio 1.1,你所不知道的细节
  9. Spring Boot Admin 2.3.1 发布,轻量的图形化监控工具
  10. [Music]Candle in the Wind 1997《风中之烛》缅怀戴安娜
  11. linux 检查系统丢包,Linux 下网络丢包问题处理
  12. xx学院学员评优评奖管理系统
  13. 异地二维码收款被风控的问题解决方法
  14. query_data函数C语言代码,pandas 查询函数query的用法说明
  15. 开启目标远程桌面服务方法总结
  16. MySQL存储过程示例
  17. 微信小程序生成海报可保存海报和分享海报
  18. GD32和STM32区别
  19. 良好的设计才能产出精品
  20. python玛丽冒险_超级玛丽的 python 实现

热门文章

  1. 改了一行代码,MySQL查询效率提升了80%,老板奖了我50万
  2. *【2019牛客暑期多校训练营(第三场)- G】Removing Stones(分治)
  3. 【HDU - 1533】Going Home(网络流,二分图最优匹配,KM算法)
  4. 【CodeForces - 558C】Amr and Chemistry(位运算,bfs,计数,思维,tricks)
  5. 拉格朗日差值 - 杜教板子
  6. 【 FZU - 2214 】Knapsack problem(逆向0-1背包)
  7. 详解3D物体检测模型: Voxel Transformer for 3D Object Detection
  8. 详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection
  9. 基于arm下的Linux控制,基于ARMuCLinux的网络控制系统设计与实现
  10. Java迭代器修改链表_Java恼人的迭代器不会返回链表中的元素