java mediatype属性_SpringMVC 及常用MediaType

java mediatype属性_SpringMVC 及常用MediaTypeSpringMVC简介在WEB开发中,SpringMVC实现了较为经典的MVC(Model,View,Controller)模式,组成:1.Model层(模型层):管理App中每个功能模块所用到的值和数据.(实体类entity).2.View层(视图层):将模型层的数据展示给用户.(页面jsp,html,thymeleaf等..)3.Controller层(控制层/控制器):管理页面跳转…

大家好,又见面了,我是你们的朋友全栈君。

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.net/141160.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python爬虫,selenium+chromedriver,谷歌驱动自动下载及配置

    python爬虫,selenium+chromedriver,谷歌驱动自动下载及配置我们在使用selenium时,有一件让我们狠抓狂的事,那就是驱动的下载与配置…为什么这么说呢?

    2025年8月11日
    6
  • Java基础语法(二)jdk的安装和Java环境配置

    Java基础语法(二)jdk的安装和Java环境配置

    2021年4月21日
    151
  • C语言学习——位运算

    C语言学习——位运算原码反码补码介绍原码 就是前面所介绍的二进制定点表示法,即最高位为符号位,“ 0 ”表示正,“ 1 ”表示负,其余位表示数值的大小。反码 表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码 表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加 1 。补码详细介绍补码是为了表示一个负数的二进制形式。其转化方式是,先将负数当成正数,转化成二进制…

    2022年8月18日
    5
  • BigDecimal除法问题

    BigDecimal除法问题BigDecimal做除法时,尽量使用divide(BigDecimaldivisor,intscale,introundingMode),这个方法divisor:被除数  scale保留小数位数  roundingMode保留小数时采用的方法,一般使用BigDecimal.ROUND_UP(四舍五入)如果不指定保留小数位数,在遇到除不尽的情况下就会报错BigDecimal源码:…

    2022年6月15日
    33
  • 分享S60 精品软件集

    分享S60 精品软件集此贴软件列表中蓝色是中文版,绿色是英文版【管理类】【手机文件管理类】SeleQ.v1.65简体中文完全版文件管理软件System.Explorer.v1.70英文激活成功教程版SELEQ1.70文件管理软件System.Explorer.v1.70中文激活成功教程版SystemExplorerv1.8系统探索器完全汉化安装版NEW读卡器专用的SELEQ安装方法读卡器专用的SmartFileman安装软件文件管

    2022年7月11日
    25
  • python3.9多线程_python多线程没用

    python3.9多线程_python多线程没用什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其

    2022年7月28日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号