最近几天在学习springboot的自动配置,Spring Boot为Spring MVC提供了自动配置,可与大多数应用程序一起很好地工作。
自动配置在Spring的默认值之上添加了以下功能:

  • 包含ContentNegotiatingViewResolver和BeanNameViewResolver。
  • 支持服务静态资源,包括对WebJars的支持
  • 自动注册Converter,GenericConverter和Formatter类。
  • 支持HttpMessageConverters
  • 自动注册MessageCodesResolver
  • 静态index.html支持
  • 自动使用ConfigurableWebBindingInitializerbean

如果要保留这些Spring Boot MVC定制并进行更多的MVC定制(拦截器,格式化程序,视图控制器和其他功能),则可以添加自己@Configuration的type类,WebMvcConfigurer但不添加 @EnableWebMvc。我们在项目中演示一下。
第一步:在项目中新建config包,新建一个MyMVCConfig的类,添加@Configuration的注解;
第二步:全文搜索WebMvcConfigurer,进入发现这是一个接口,在MyMVCConfig的类实现并重写内部方法;

第三步:接管视图解析器ContentNegotiatingViewResolver,进入到类内部resolveViewName方法,看到默认的视图解析器做的工作,第一步先获取所有的候选视图,然后从中选择最优的视图,我们先自己写一个新的视图来验证一下。


由于所有的请求过来先走dispatcherservlet,进入到内部的类找到doDispatch方法,断点测试一下自定义的视图解析器是否生效。

第四步:扩展springmvc

springboot MVC拓展配置相关推荐

  1. MVC自动配置原理---SpringBoot

    MVC自动配置原理 官网阅读 在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制. 只有把这些都搞清楚了,我们在之后使用 ...

  2. spring mvc mysql配置_spring mvc配置数据库连接

    ACM 配置中心实战:Spring + MyBatis + Druid + ACM 很多基于 Spring MVC 框架的 Web 开发中,Spring + MyBatis + Druid 是一个黄金 ...

  3. SpringMVC自动配置||如何修改SpringBoot的默认配置

    SpringMVC自动配置 1. Spring MVC auto-configuration Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默 ...

  4. springboot的自动配置原理

    SpringBoot中的默认配置 通过刚才的学习,我们知道@EnableAutoConfiguration会开启SpringBoot的自动配置,并且根据你引入的依赖来生效对应的默认配置.那么问题来了: ...

  5. 3-8 基于SpringBoot连接数据库与配置MyBatis实操 创建表sql

    11                    13-8 基于SpringBoot连接数据库与配置MyBatis实操 springSecurity提供了     现成的基于内存管理的类 shiro则必须自 ...

  6. SpringBoot约定大于配置的特性解读 SpringBoot快速入门

    SpringBoot约定大于配置 Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的 ...

  7. SpringBoot拦截器配置

    SpringBoot拦截器配置 自定义拦截器: com.example.mybatis2018.interceptor.MyInterCeptor package com.example.mybati ...

  8. springboot12 MVC自动配置原理

    12.MVC自动配置原理 12.1.官网阅读 在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制. 只有把这些都搞清楚了 ...

  9. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

  10. springboot快速详细配置搭建

    前言 本文章只局限于springBoot的快速配置搭建,原理部分请阅读本人的另一篇原理剖析的文章,同时本文章会有一部分配置未写入: 1 本文章只介绍本人认为代码量最少的配置 2 有部分配置比较多,以文 ...

最新文章

  1. 某小型公司持续集成工具 jenkins 实践
  2. 目标检测比赛中的tricks集锦
  3. GreenDao高级用法
  4. tomcat实现多端口、多域名访问
  5. OpenCASCADE绘制测试线束:简单的向量代数和测量之矢量代数命令
  6. 对基于消息队列的Activiti异步执行器进行基准测试
  7. c#字符型转化为asc_wap站 utf-8与 gb2312字符编码的转化函数
  8. Java并发包基石-AQS详解
  9. 【Elasticsearch】你看懂 Elasticsearch Log 中的 GC 日志了吗?
  10. 邻接表拓扑排序算法【C/C++】
  11. doc 问卷调查模板表_问卷调查生成word 调查问卷模板word
  12. DICOM影像中的窗宽窗位
  13. Android相机拍照后,对照片模糊的处理;对照片旋转90度的处理
  14. heic格式怎么改成jpg?
  15. C++实现模重复平方计算法
  16. 2020巅峰极客wp
  17. 初入职场两件事 入对行,跟对人---Leo读 不是孙振耀写的职场感言 6
  18. 数据的加载 - 清洗处理 - 分组分类 - 存储
  19. 路由器与交换机(笑傲江湖篇)
  20. 中企海外周报 | 华为发布AI欧洲生态计划;顺丰速运启动多个洲际货运航线

热门文章

  1. Unix环境高级编程(十九)终端I/O
  2. kolla-ansible解析
  3. linux 获取指定目录最大深度(层数)02
  4. 新手学习Linux之grep
  5. javascript异步延时加载及判断是否已加载js/css文件
  6. OpenStack单点部署及使用简单教程(附:部署好的VMware虚拟机)
  7. poj Ancient Cipher 古代密码
  8. 5.程序员的自我修养---Windows PE/COFF
  9. 22.Linux/Unix 系统编程手册(上) -- 信号:高级特性
  10. 18.go 日志监控系统