Spring中
配置interceptors

<mvc:view-controller path="/hello" view-name="success"/>
<mvc:interceptors><mvc:interceptor><mvc:mapping path="/hello"/><bean></bean></mvc:interceptor>
</mvc:interceptors>
<mvc:default-servlet-handler/>

Spring boot实现方式

参考官网
https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#boot-features-developing-web-applications

可以扩展Spring MVC功能
编写一个配置类@Configuration

是WebMvcConfigurerAdapter类型,不能标注@EnableWebMvc
既保留了所有的自动配置,也能用自定义扩展的配置

//使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能
//@EnableWebMvc   不要接管SpringMVC
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {// super.addViewControllers(registry);//浏览器发送 /atguigu 请求来到 successregistry.addViewController("/atguigu").setViewName("success");}
}

实现原理

WebMvcAutoConfiguration
SpringMVC的自动配置类

搜索,WebMvcAutoConfigurationAdapter

EnableWebMvcConfiguration
在做其他自动配置时会导入

@Import(EnableWebMvcConfiguration.class)

DelegatingWebMvcConfiguration
搜索,setConfigurers

从容器中获取,所有的WebMvcConfigurer

addViewControllers
从容器中获取,所有的WebMvcConfigurer

把它们的addViewControllers方法,都调用一遍

addViewControllers
将所有的WebMvcConfigurer相关配置,都一起来调用

就都会一起,来起作用

容器中
所有的WebMvcConfigurer都会一起起作用
自定义的配置类,也会被调用

自动配置类,其作用的时候,会扫描容器中
所有的配置类,自定义的配置类,也会扫描到
SpringMVC的自动配置,和自定义的扩展配置都会起作用

Spring boot的Spring MVC扩展功能相关推荐

  1. spring boot与spring mvc的区别是什么?

    Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面 ...

  2. Spring、Spring Boot与Spring MVC

    总论 Spring框架就像一个家族,有众多衍生产品例如boot.security.jpa等等.但他们的基础都是Spring的ioc和aop.ioc提供了依赖注入的容器,aop解决了面向横切面的编程:然 ...

  3. spring boot 和spring mvc区别

    spring boot 和spring mvc 其实并没有对比性. 我最开始接触的是spring mvc ,最近刚刚接触了spring boot ,脑子里面便产生了这个问题. spring boot ...

  4. spring boot之Spring Mvc开发和常用注解说明

    spring boot之Spring Mvc开发和常用注解说明 Spring boot主要用于开发微服务接口.所以采用的控制层注解主要是restful形式. 创建微服务: 与上一篇文章一致. 依赖多一 ...

  5. Spring、Spring MVC、Spring boot、Spring Cloud面试题(史上最全面试题,精心整理100家互联网企业,面试必过)

    最全面试题,精心整理100家互联网企业面经,祝你面试成功.面试必过(2023优化版)已发布在个人微信公众号[面向Offer学编程],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结, ...

  6. 1.Spring、Spring Boot 和 Spring Cloud 有什么关系?

    1.什么是SpringBoot? Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置, ...

  7. 为什么Java大神,都在看Spring Boot和Spring Cloud的书?

    2019独角兽企业重金招聘Python工程师标准>>> 如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的 ...

  8. 基于Spring Boot和Spring Cloud实现微服务架构学习--转

    原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...

  9. 基于 Spring Boot 和 Spring Cloud 实现微服务架构

    前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...

  10. 基于Spring Boot和Spring Cloud实现微服务架构学习

    目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如 ...

最新文章

  1. actframework mysql_问题处理记录
  2. 玩转百度地图(二)之画圆,高德地图、搜搜地图、搜狗地图等稍微修改即可...
  3. 服务器重启后,启动SAP ERP的步骤
  4. 从“连锁”到“新联锁”,尚美生活如何引领酒店行业变革?
  5. 博客美化20150418
  6. 本期最新 9 篇论文,每一篇都想推荐给你 | PaperDaily #14
  7. selenium+ python自动化--断言assertpy
  8. leetcode113. 路径总和 II
  9. Android开发--apk的生成
  10. Flex与.NET互操作(十六):FluorineFx + Flex视频聊天室案例开发
  11. 3项目估算表_浮动油封生产项目可行性研究报告
  12. 网络环境未能通过安全验证,请稍后再试
  13. Jenkins在执行JUnit报告时报错Test reports were found but none of them are new. Did leafNodes run? 问题解决
  14. matlab的发展历史,仿真的发展历程以及目前现状
  15. 奖学金评审系统java_奖学金评定系统 - WEB源码|源代码 - 源码中国
  16. 微信小程序云开发之网易云音乐
  17. RTMP转HTTP-FLV视频流web端应用流程记录
  18. NoSQL从小白到码神 火推08
  19. 2016面试整理--来源牛客网
  20. 周杰伦2014新专辑《哎呦,不错哦》

热门文章

  1. Python3.5 Day1作业:实现用户密码登录,输错三次锁定。
  2. 蹭课神器NABCD分析
  3. MVC --.Routing
  4. C#网络编程:4订立协议和发送文件
  5. 小月金嗓再现经典版迟来的爱
  6. Kaggle债务违约预测冠军经验分享
  7. 区块链BaaS云服务(36)欧盟EBSI 区块链
  8. leetcode-简单题-题序:9+13
  9. kubenetes中YAML的字段解释
  10. 【Opencv实战】图像修复神技?看我一秒修复家里的老照片