Spring boot的Spring MVC扩展功能
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扩展功能相关推荐
- spring boot与spring mvc的区别是什么?
Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面 ...
- Spring、Spring Boot与Spring MVC
总论 Spring框架就像一个家族,有众多衍生产品例如boot.security.jpa等等.但他们的基础都是Spring的ioc和aop.ioc提供了依赖注入的容器,aop解决了面向横切面的编程:然 ...
- spring boot 和spring mvc区别
spring boot 和spring mvc 其实并没有对比性. 我最开始接触的是spring mvc ,最近刚刚接触了spring boot ,脑子里面便产生了这个问题. spring boot ...
- spring boot之Spring Mvc开发和常用注解说明
spring boot之Spring Mvc开发和常用注解说明 Spring boot主要用于开发微服务接口.所以采用的控制层注解主要是restful形式. 创建微服务: 与上一篇文章一致. 依赖多一 ...
- Spring、Spring MVC、Spring boot、Spring Cloud面试题(史上最全面试题,精心整理100家互联网企业,面试必过)
最全面试题,精心整理100家互联网企业面经,祝你面试成功.面试必过(2023优化版)已发布在个人微信公众号[面向Offer学编程],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结, ...
- 1.Spring、Spring Boot 和 Spring Cloud 有什么关系?
1.什么是SpringBoot? Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置, ...
- 为什么Java大神,都在看Spring Boot和Spring Cloud的书?
2019独角兽企业重金招聘Python工程师标准>>> 如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习--转
原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...
- 基于 Spring Boot 和 Spring Cloud 实现微服务架构
前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习
目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如 ...
最新文章
- actframework mysql_问题处理记录
- 玩转百度地图(二)之画圆,高德地图、搜搜地图、搜狗地图等稍微修改即可...
- 服务器重启后,启动SAP ERP的步骤
- 从“连锁”到“新联锁”,尚美生活如何引领酒店行业变革?
- 博客美化20150418
- 本期最新 9 篇论文,每一篇都想推荐给你 | PaperDaily #14
- selenium+ python自动化--断言assertpy
- leetcode113. 路径总和 II
- Android开发--apk的生成
- Flex与.NET互操作(十六):FluorineFx + Flex视频聊天室案例开发
- 3项目估算表_浮动油封生产项目可行性研究报告
- 网络环境未能通过安全验证,请稍后再试
- Jenkins在执行JUnit报告时报错Test reports were found but none of them are new. Did leafNodes run? 问题解决
- matlab的发展历史,仿真的发展历程以及目前现状
- 奖学金评审系统java_奖学金评定系统 - WEB源码|源代码 - 源码中国
- 微信小程序云开发之网易云音乐
- RTMP转HTTP-FLV视频流web端应用流程记录
- NoSQL从小白到码神 火推08
- 2016面试整理--来源牛客网
- 周杰伦2014新专辑《哎呦,不错哦》