所在的位置: Web开发 >> HTNL >> SpringBoot24x开发

SpringBoot24x开发

SpringBoot非常适合web应用程序开发。你可以使用嵌入式Tomcat、Jetty、Undertow或Netty创建一个自包含的HTTP服务器。大多数web应用程序使用spring-boot-starter-web模块来快速启动和运行。你还可以选择使用spring-boot-starter-webflux模块构建反应式web应用程序。

1、“SpringWebMVC框架”

SpringWebMVC框架(通常称为“SpringMVC”)是一个丰富的“模型-视图-控制器”Web框架。SpringMVC允许你创建特殊的

Controller或

RestControllerbean来处理传入的HTTP请求。控制器中的方法通过使用

RequestMapping注解映射到HTTP

以下代码显示了为JSON数据提供服务的典型

RestController:

RestController

RequestMapping(value="/users")publicclassMyRestController{

RequestMapping(value="/{user}",method=RequestMethod.GET)publicUsergetUser(

PathVariableLonguser){//...}

RequestMapping(value="/{user}/customers",method=RequestMethod.GET)ListCustomergetUserCustomers(

PathVariableLonguser){//...}

RequestMapping(value="/{user}",method=RequestMethod.DELETE)publicUserdeleteUser(

PathVariableLonguser){//...}}

1.1、Spring-MVC自动配置

SpringBoot为SpringMVC提供了自动配置,可以很好地用于大多数应用程序。

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

包含ContentNegotiatingViewResolver和BeanNameViewResolverbean。

对服务静态资源的支持,包括对WebJars的支持(本文后面将介绍)。

自动注册Converter,GenericConverter和Formatterbean。

HTTPMessageConverters的支持(本文后面将介绍)。

MessageCodesResolver的自动注册(本文档后面将介绍)。

静态index.html支持。

可配置ConfigurableWebBindingInitializer的自动使用(本文后面将介绍)。

如果您想保留这些Spring-BootMVC定制并进行更多MVC定制(拦截器、格式化程序、视图控制器和其他特性),您可以添加自己的WebMvcConfigurer类型的

Configuration类,但不添加

EnableWebMvc。

如果要提供RequestMappingHandlerMapping,RequestMappingHandlerAdapter,或ExceptionHandlerExceptionResolver的自定义实例,并且仍然保留SpringBootMVC自定义设置,可以声明WebMvcRegistrations类型的bean,并使用它来提供这些组件的自定义实例。

如果您想完全控制SpringMVC,您可以添加自己的

Configuration,并用

EnableWebMvc注解,或者也可以添加自己的

Configuration注解给DelegatingWebMvcConfiguration配置,如

EnableWebMvc的Javadoc中所述。

SpringMVC使用不同的ConversionService来转换apapplication.properties或application.yaml文件中的值。这意味着Period,Duration和DataSize转换器不可用,

DurationUnit和

DataSizeUnit注解将被忽略。

如果您想定制SpringMVC使用的ConversionService,可以提供一个带有addFormatters方法的WebMvcConfigurerbean。通过此方法,您可以注册任何您喜欢的转换器,也可以委托给ApplicationConversionService上可用的静态方法。

1.2、HTTPMessageConverters

SpringMVC使用HttpMessageConverter接口来转换HTTPrequests和

responses。例如,可以将对象自动转换为JSON(通过使用Jackson库)或XML(通过使用JacksonXML扩展(如果可用),或者通过使用JAXB(如果JacksonXML扩展不可用)。默认情况下,字符串以UTF-8编码。

如果需要添加或自定义转换器,可以使用SpringBoot的HTTPMessageConverters类,如下所示:

importorg.springframework.boot.autoconfigure.


转载请注明:http://www.guyukameng.com/html/html1/14255.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了