SpringMVC 自动配置

SpringMVC 自动配置

官方文档

Web

文档大纲

SpringBoot 是框架的框架,Web 开发底层仍然是使用 SpringMVC。

Spring Boot 为 Spring MVC 提供了自动配置,在大多数应用程序中都能很好地工作。

自动配置功能在 Spring 默认值的基础上添加了以下特性:

如果你想保留那些 Spring Boot MVC 的自动配置,并做更多的 MVC 定制 (interceptors 拦截器、formatters 格式化器、view controllers 视图控制器和其他功能),你可以添加你自己的 WebMvcConfigurer 类型的类并添加 @Configuration,但不要使用 @EnableWebMvc

具体请参考《SpringBoot-Web 开发 -11- 定制化原理.md

如果你想提供 RequestMappingHandlerMapping, RequestMappingHandlerAdapter,或 ExceptionHandlerExceptionResolver 的自定义实例,并且仍然保持 Spring Boot MVC 的自动配置,你可以声明一个 WebMvcRegistrations 类型的 bean,并使用它来提供这些组件的自定义实例。

如果你想完全控制 Spring MVC,你可以添加你自己的有 @Configuration@EnableWebMvc 注解的配置类,或者添加你自己的 @ConfigurationDelegatingWebMvcConfiguration,就像 @EnableWebMvc 的 Javadoc 中描述的那样。

相当于回到 SpringMVC 时代的方式。参考文档 《SpringMVC- 第十篇:基于注解配置 SpringMVC.md

具体请参考《SpringBoot-Web 开发 -11- 定制化原理.md

此文也是我们学习 SpringBoot 开发 WebMVC 的的大纲


SpringMVC 只算是 SpringBoot 在引入 web 场景启动器之后具有的能力。SpringBoot 有很多其他场景的启动器,比如 spring-security,引入这些启动器,SpringBoot 应用就可以具有相应的能力,所以我们说 SpringBoot 是框架的框架。