Spring MVC 是 Spring Framework 的核心组件之一,专为构建基于 Servlet 技术的 Web 应用程序而计划。Spring Boot 整合了 Spring MVC 框架,以此提供对传统 Web Servlet 技术栈的全面支持,使得开辟者能够便捷地构建和运行基于 Servlet 的 Web 应用。
实现方式
如果您想要保存 Spring Boot 的这些 MVC 自界说特性,并进行更多的 MVC 自界说操作(如拦截器、格式化器、视图控制器以及其他功能),您可以添加自己的 @Configuration 类,其类型为 WebMvcConfigurer,但不要使用 @EnableWebMvc。
如果您想要提供 RequestMappingHandlerMapping、RequestMappingHandlerAdapter 或 ExceptionHandlerExceptionResolver 的自界说实例,同时又想保存 Spring Boot 的 MVC 自界说特性,可以声明一个类型为 WebMvcRegistrations 的 Bean,并使用它来提供这些组件的自界说实例。这些自界说实例将担当 Spring MVC 的进一步初始化和设置。如果您想加入并在需要时覆盖后续的处理过程,可以使用 WebMvcConfigurer。
如果您不想使用主动设置,而且想要完全掌控 Spring MVC,可以添加自己的、带有 @EnableWebMvc 注解的 @Configuration 类。或者,按照 @EnableWebMvc 的 API 文档中描述的那样,添加自己的带有 @Configuration 注解的 DelegatingWebMvcConfiguration。
Jersey
Jersey 是一个开源的、用于构建 RESTful Web 服务的框架,它是 Java API for RESTful Web Services(JAX-RS)的参考实现。它提供了一组强大的工具和 API,使开辟人员能够轻松地创建、部署和管理 RESTful 服务。
Spring Boot 集成 Jersey
当您希望采用传统的Servlet栈来构建应用时,您需要添加spring-boot-starter-web依赖,该依赖默认集成了spring-boot-starter-tomcat,意味着您的应用将使用Tomcat作为Web容器。别的,Spring Boot还支持使用Jetty和Undertow作为可选的Web容器。
Spring Boot 更换容器示例