大家好,又见面了,我是你们的朋友全栈君。
SpringMVC简介
在WEB开发中, SpringMVC实现了较为经典的MVC(Model,View,Controller)模式,
组成: 1.Model层(模型层): 管理App中每个功能模块所用到的值和数据.(实体类entity).
2.View层(视图层): 将模型层的数据展示给用户.(页面jsp,html,thymeleaf等..)
3.Controller层(控制层/控制器): 管理页面跳转, 处理用户请求响应逻辑. 也就是管理用 户和视图层交互的. 类似一个齿轮.
SpringMVC 使用 @Controller或@RestController注解的Bean来处理传入的HTTP请求.使用@RestController注解将Http请求映射到相应的控制器中的方法.
以下是@RestController用于提供JSON数据的典型示例
@RestController
@RequestMapping(“/user”)
public class RestControllerGet(){
@RequestMapping(value=”/{user}”, method=RequestMethod.GET)
public User getAllUser(){
//…. }
}三层架构与MVC的差异
2.Spring MVC 中的自动配置
SpringBoot提供了适用于大多数应用程序的SpringMVC的自动配置.
自动配置在Spring的默认值之上添加以下功能.1.包含ContentNegotiatingViewResolver bean 和 BeanNameViewResolver bean.
2.支持静态资源的服务,包括对WebJars的支持.
3.自动注册Converter, GenericConverter, Formatter等bean.
4.支持HttpMessageConverters.
5.自动注册MessageCodesResolver.
6.支持静态index.html.
7.支持自定义Favicon .
8.自动使用ConfigurableWebBindingInitializer bean.
1.HttpMessageConverter
Spring MVC 使用HttpMessageConverter接口来转换Http请求和响应. 其默认值提供了开箱即用的功能, 例如, 对象可以自动转换为JSON(使用Jackson库)或XML(如果Jackson XML扩展不可用,则使用JAXB), 字符串默认使用UTF-8进行编码.
如果需要添加或自定义转换器, 可以使用SpringBoot的HttpMessageConverters类.
@Configuration
public class MyConfiguration{
@Bean
public HttpMessageConverters customConverters(){
HttpMessageConverter> additional = …;
HttpMessageConverter> another= … ;
return new HttpMessageConverters(additional, another);
}
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141160.html原文链接:https://javaforall.cn