一、 中央转发器(DispatcherServlet)
实现方式
- 自动配置类 :核心是
DispatcherServletAutoConfiguration,Spring Boot 启动时会自动检测并注册 DispatcherServlet 到 Servlet 容器(Tomcat/Jetty/Undertow)。 - 默认配置 :
- 默认映射路径:
/(处理所有请求,除了静态资源) - 自动设置初始化优先级(保证先于其他 Servlet 初始化)
- 自动绑定 Spring 容器上下文,无需手动关联
- 默认映射路径:
- 自定义配置(application.yml):
XML
spring:
mvc:
servlet:
path: /api # 自定义映射路径(如所有/api开头的请求由DispatcherServlet处理)
load-on-startup: 1 # 启动时加载(默认1)
二、控制器(Controller)
实现方式
- 核心注解 :
@Controller:标识控制器 Bean(返回视图)@RestController:@Controller + @ResponseBody(返回 JSON/XML,无视图)@RequestMapping/@GetMapping/@PostMapping:映射请求路径 / 方法
- 自动扫描 :Spring Boot 默认扫描
@SpringBootApplication所在包及其子包下的@Controller/@RestController,无需手动注册控制器 Bean。
三、视图解析器(ViewResolver)
- 默认装配的解析器 (优先级从高到低):
ContentNegotiatingViewResolver:内容协商解析器(根据请求头Accept判断返回 JSON / 视图)InternalResourceViewResolver:JSP 视图解析器(默认前缀/WEB-INF/,后缀.jsp)- 若引入 Thymeleaf 依赖,自动装配
ThymeleafViewResolver(替代 JSP,Spring Boot 首选)
- 默认配置(application.yml):
XML
spring:
mvc:
view:
prefix: /WEB-INF/views/ # JSP视图前缀
suffix: .jsp # JSP视图后缀
thymeleaf:
prefix: classpath:/templates/ # Thymeleaf模板路径(默认)
suffix: .html # Thymeleaf后缀(默认)
cache: false # 开发环境关闭缓存
当我们做文件上传的时候我们也会发现multipartResolver是自动被配置好的
文件上传大小可以通过配置来修改
打开application.properties, 默认限制是10MB,我们可以任意修改
四、消息转换和格式化
负责 HTTP 请求 / 响应的序列化与反序列化(如 JSON、XML、表单数据),Spring Boot 自动配置主流转换器。
- 装配的转换器 :
MappingJackson2HttpMessageConverter:JSON 转换器(默认,依赖 jackson-databind)StringHttpMessageConverter:字符串转换器(默认编码 UTF-8)FormHttpMessageConverter:表单数据转换器

- 时间类型我们可以在配置文件修改
XML
# jackson全局JSON格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.serialization.write-dates-as-timestamps=false
# Spring MVC请求参数格式化
spring.mvc.format.date=yyyy-MM-dd
spring.mvc.format.datetime=yyyy-MM-dd HH:mm:ss
spring.mvc.format.time=HH:mm:ss