SpringMVC-8 数据类型转换、数据格式化与数据校验

FFmpeg音频转换避坑实录:为什么VOS的REC转MP3比WAV转MP3体积小一半? 本文深入解析了FFmpeg在VOS系统REC格式音频转换中的优化技巧,揭示了REC转MP3比WAV转MP3体积小一半的原因。通过分析REC格式的压缩特性、转码参数陷阱及FFmpeg调优方法,帮助开发者实现高效音频转换,显著降低存储成本。 阅读详情

  数据类型转换、数据格式化与数据校验的具体实现代码下载地址:http://download.youkuaiyun.com/download/bingbeichen/9796699。


1. 数据绑定流程

  SpringMVC通过反射机制对目标处理方法进行解析,将请求消息绑定到处理方法的入参中。其中,数据绑定的核心部件是DataBinder,运行机制如下:
  这里写图片描述

  数据绑定的具体流程说明如下:

  • SpringMVC主框架将ServletRequest对象和目标方法的入参实例传递给WebDataBinderFactory实例,以创建DataBinder实例对象;
  • DataBinder调用装配在SpringMVC上下文中的ConversionService组件进行数据类型转换与格式化操作,并将Servlet中的请求信息填充到入参对象中;
  • SpringMVC进而调用Validator组件对已经绑定请求消息的入参对象进行数据合法性校验,并最终生成数据绑定结果BindingData对象;
  • SpringMVC抽取BindingResult中的入参对象和校验错误对象,将其赋给处理方法的响应入参中。
// ModelAttributeMethodProcessor的resolveArgument()方法的核心代码:
WebDataBinder binder = binderFactory.createBinder(request, attribute, name);
if (binder.getTarget() != null) {
    bindRequestParameters(binder, request); //绑定请求数据到入参中
    validateIfApplicable(binder, parameter); //校验入参中数据的合法性
    if (binder.getBindingResult().hasErrors()) {
        if (isBindExceptionRequired(binder, parameter)) {
            throw new BindException(binder.getBindingResult());
        }
    }
}

2. 数据类型转换

  SpringMVC上下文中内建了许多数据类型转换器,可完成大多数Java类型的换工作,具体可通过调试模式查看binder的conversionService属性值。
  这里写图片描述


3. 自定义数据类型转换器

  明确需求:

// 将表单输入的name-email-gender-department.id字符串转换为Employee对象
@RequestMapping("/testEmployeeConverter")
public String testEmployeeConverter(Employee employee) {
    System.out.println(employee);
    return "redirect:/emps";
}

  第一步:自定义实现Converter接口的数据类型转换器类,并添加到Spring的IoC容器中;

package com.qiaobc.springmvc.converter;

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import com.qiaobc.springmvc.domain.Department;
import com.qiaobc.springmvc.domain.Employee;

// 三种类型的数据转换器接口:Converter<S,T>、ConverterFactory、GenericConverter
@Component
public class EmployeeConverter implements Converter<String, Employee>{

    @Override
    public Employee convert(String source) {
        if(source != null) {
            String[] strs = source.split("-");
            if(strs != null && strs.length == 4) {
                String name = strs[0];
                String email = strs[1];
                String gender = strs[2];
                Department department = new Department();
                department.setDeptId(Integer.parseInt(strs[3]));
                return new Employee(null, name, email, gender, department);
            }
        }
        return null;
    }

}

  第二步:在SpringMVC的配置文件中,通过ConversionServiceFactoryBean的converters属性注册自定义的类型转换器;

<!-- 
    配置数据类型转换器:
    1). ConversionService是SpringMVC类型转换体系的核心接口;
    2). 可以利用ConversionServiceFactoryBean在Spring的IoC容器中定义一个ConversionService;
    3). Spring将自动识别IOC容器中的ConversionService,并在Bean属性配置及SpringMVC处理方法入参绑定等场合使用其进行数据类型转换。
 -->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <set>
            <ref bean="employeeConverter"/>
        </set>
    </property>
</bean>

  第三步:通过mvc:annotation-driven标签的conversion-service属性,将ConversionServiceFactoryBean注册到SpringMVC的上下文中。

<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>

4. 关于mvc:annotation-driven

  <mvc:annotation-driven/> 会自动注册RequestMappingHandlerMapping、RequestMappingHandlerAdapter与ExceptionHandlerExceptionResolver三个bean,其还将提供如下支持:

  • 支持使用ConversionService实例对表单参数进行类型转换;
  • 支持使用@NumberFormat和@DateTimeFormat注解完成数据类型的格式化;
  • 支持使用@Valid注解对JavaBean实例进行JSR 303验证;
  • 支持使用@RequestBody和@ResponseBody注解。

这里写图片描述


5. @InitBinder注解

  由@InitBinder注解标识的方法,可以对WebDataBinder对象进行初始化;WebDataBinder是DataBinder的子类,用于完成由表单字段到JavaBean属性的绑定。注意@InitBinder方法不能有返回值,其入参通常是WebDataBinder对象。

/**
 * 在进行数据绑定时,不自动绑定对象中的name属性
 * 注意:其对自定义类型转换器并不起作用
 * @param binder
 */
@InitBinder
public void initBinder(WebDataBinder binder) {
    binder.setDisallowedFields("name");
}

6. 数据格式化

6.1 FormattingConversionServiceFactroyBean

  主要作用:用于在Spring上下文中构造FormattingConversionService。
  其中,FormattingConversionServiceFactroyBean工厂类的内部已经注册:

  • NumberFormatAnnotationFormatterFactroy:支持对数字类型的属性使用@NumberFormat注解;
  • JodaDateTimeFormatAnnotationFormatterFactroy:支持对日期类型的属性使用@DateTimeFormat注解;
6.2 mvc:annotation-driven
  • mvc:annotation-driven默认创建的ConversionService实例即为FormattingConversionServiceFactroyBean;
  • 故配置mvc:annotation-driven后即可在SpringMVC入参绑定及模型数据输出时使用注解驱动,以实现数据类型转换和数据格式化。
6.3 FormattingConversionService
  • 该类是Spring格式化模块中实现了ConversionService接口的实现类;
  • 该类扩展了GenericConversionService,既具有类型转换的功能,又具有格式化的功能。
6.4 日期格式化

  @DateTimeFormat注解可对java.util.Date、java.util.Calendar和java.long.Long时间
类型的属性进行标注,其具有如下属性:

  • pattern属性:字符串类型,用于指定解析/格式化字段数据的模式,如”yyyy-MM-dd hh:mm:ss”;
  • iso属性:类型为DateTimeFormat.ISO,用于指定解析/格式化字段数据的ISO模式,包括ISO.NONE(不使用,默认)、ISO.DATE(yyyy-MM-dd) 、ISO.TIME(hh:mm:ss.SSSZ)和ISO.DATE_TIME(yyyy-MM-dd hh:mm:ss.SSSZ);
  • style属性:字符串类型,用于指定日期时间的格式,由两位字符组成,第一位表示日期的格式,第二位表示时间的格式;S表示短日期/时间格式、M表示中日期/时间格式、L表示长日期/时间格式、F表示完整日期/时间格式、-表示忽略日期或时间格式。
6.5 数值格式化

  @NumberFormat注解可对类似数字类型的属性进行标注,其具有两个互斥的属性:

  • pattern属性:字符串类型,用于自定义样式,如”#,###,###.#”;
  • style属性:类型为NumberFormat.Style,用于指定样式类型,包括Style.NUMBER(正常数字类型)、Style.CURRENCY(货币类型)、Style.PERCENT(百分数类型)。
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birth;
@NumberFormat(pattern="###,###,###.##")
private float salary;

7. JSR303数据校验

  JSR 303 是Java为Bean数据合法性校验提供的标准框架,其已经包含在JavaEE 6.0中;JSR 303 通过在Bean属性上标注类似于@NotNull、@Max等标准的注解指定校验规则,并通过标准的验证接口对Bean进行验证。
  JSR 303 支持的校验注解如下:

注解功能说明
@Null被注释的元素必须为null
@NotNull被注释的元素必须不为null
@AssertTrue被注释的元素必须为true
@AssertFalse被注释的元素必须为false
@Min(value)被注释的元素必须是一个数字,其值必须大于或等于指定的最小值
@Max(value)被注释的元素必须是一个数字,其值必须小于或等于指定的最大值
@DecimalMin(value)被注释的元素必须是一个数字,其值必须大于或等于指定的最小值
@DecimalMax(value)被注释的元素必须是一个数字,其值必须小于或等于指定的最大值
@Size(max, min)被注释的元素的大小必须在指定的范围内
@Digits(integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past被注释的元素必须是一个过去的日期
@Future被注释的元素必须是一个将来的日期
@Pattern(value)被注释的元素必须符合指定的正则表达式

  Hibernate Validator 是 JSR 303 的一个参考实现,除支持所有标准的校验注解外,还支持一下扩展注解:

注解功能说明
@Email被注释的元素必须是电子邮箱地址
@Length被注释的字符串的大小必须在指定的范围内
@NotEmpty被注释的字符串必须非空
@Range被注释的元素必须在合适的范围内

8. SpringMVC数据校验

8.1 基本概念

  ① 关于所需要的jar包
  Spring4.0拥有独立的数据校验框架,同时支持 JSR 303 标准的校验框架;但其本身并没有提供 JSR 303 的实现,故必须将 JSR 303 的实现者的jar包放到类路径下。

  ② 关于LocalValidatorFactoryBean工厂类
  该工厂类既实现了Spring的Validator接口,也实现了 JSR 303 的Validator接口;故需要在 Spring 容器中定义LocalValidatorFactoryBean,即可将其注入到需要数据校验的Bean中。

  ③ 关于@Valid注解
  <mvc:annotation-driven/>会默认装配LocalValidatorFactoryBean,通过在处理方法的入参上标注@Valid注解即可让SpringMVC在进行数据绑定时,同时调用校验框架完成数据校验工作。

  ④ 关于校验结果
  前一个表单/命令对象的校验结果保存到随后处理方法的入参中,该入参必须是BindingResult或Errors类型;且需注意,需校验的Bean对象和其绑定结果对象或错误对象是成对出现的,其之间不允许声明其他的入参。

8.2 具体实现

  第一步:添加Hibernate Validator验证框架所依赖的jar包,具体如下图所示:
    这里写图片描述
  第二步:在SpringMVC配置文件中添加mvc:annotation-driven标签;
  第三步:在需要校验的JavaBean属性上添加相应的校验注解,以Employee为例:

public class Employee {

    @NotNull
    private String name;

    @Email
    private String email;

    @Past
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date birth;

    // ……
}

  第四步:在处理器目标方法的Bean类型的入参前添加@Valid注解,并添加保存校验结果的对象:

@RequestMapping(value="/emp", method=RequestMethod.POST)
public String save(@Valid Employee employee, BindingResult result, Map<String, Object> map) {
    System.out.println(employee);

    if(result.getErrorCount() > 0) {
        for(FieldError error : result.getFieldErrors()) {
            System.out.println(error.getField() + " : " + error.getDefaultMessage());
        }

        // 指定校验错误时所转向的定制页面
        map.put("departments", departmentDao.getDepartments());
        return "emp-edit";
    }

    employeeDao.save(employee);
    return "redirect:/emps";
}

9. 校验错误消息的显示

  SpringMVC还会将所有校验结果保存到隐含模型中,该模型中的所有数据最终将通过HttpServletRequest的属性列表暴露给JSP视图对象,故在JSP页面上可以获取错误信息。

<form:form action="${pageContext.request.contextPath }/emp" method="post" modelAttribute="employee">

    <!-- 显示所有错误消息 -->
    <form:errors path="*"></form:errors><br><br>


    Name:<form:input path="name"/>
    <!-- 在指点字段后显示当前字段的错误消息 -->
    <form:errors path="name"></form:errors>
    <br><br>

    Email:<form:input path="email"/>
    <form:errors path="email"></form:errors>
    <br><br>

    Birthday:<form:input path="birth"/>
    <form:errors path="birth"></form:errors>
    <br><br>

    <input type="submit" name="submit">

</form:form>

10. 校验错误消息的国际化

  当某属性校验失败后,SpringMVC校验框架会为该属性生成4个消息代码,其以校验注解类名为前缀,结合modelAttribute、属性名及属性类型名;如NotNull.employee.name、NotNull.name、NotNull.java.lang.String和NotNull。
  错误代码前缀除了校验注解类名外,还有如下几种:

错误代码前缀具体说明
required必要的参数不存在;如@RequiredParam(“name”)标注入参,但该参数不存在时发生的错误
typeMismatch在数据绑定时,发生数据类型转换或格式化错误
methodInvocationSpringMVC在调用处理方法时发生错误

  具体实现步骤:
  第一步:创建国际化资源文件i18n.properties,文件内容如下所示:

NotNull.employee.name=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
Email.employee.email=\u7535\u5B50\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
Past.employee.birth=\u51FA\u751F\u65E5\u671F\u4E0D\u80FD\u662F\u5C06\u6765\u65F6\u95F4

  第二步:在SpringMVC配置文件中注册国际化资源文件,具体如下:

<!-- 配置国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="i18n"></property>
</bean>

  说明:当使用SpringMVC标签显示错误消息时,SpringMVC先查看WEB上下文是否装配对应的国际化消息,若有则显示国际化消息,否则显示默认的错误消息。

Python 爬虫实战:解析 JSON 数据爬取今日头条热点新闻(API 接口逆向与字段提取) 在当今信息爆炸的时代,新闻资讯的获取变得尤为重要。今日头条作为国内领先的新闻聚合平台,其热点新闻数据具有很高的价值。本文将详细介绍如何通过 Python 爬虫技术,逆向解析今日头条的 API 接口,提取并解析 JSON 数据,最终获取热点新闻信息。 阅读详情

相关推荐

告别WSL:Ollama Windows原生部署与GPU加速实战

本文详细介绍了Ollama在Windows系统上的原生部署与GPU加速实战指南。告别WSL,通过官方原生应用直接调用NVIDIA和AMD显卡,实现更高效的本地大模型运行。文章涵盖系统准备、三步安装、模型拉取运行、GPU性能优化及高级配置,为Windows AI开发者提供一站式解决方案。

prometheus9mon的博客 532

日期格式、JSR303校验

日期格式、JSR303校验

qq_65186476的博客 448

Microsoft Speech SDK 使用过程中女声改为男声遇到的问题

问题将女生改为系统自带男声(Kangkang)根据上面的步骤我的播放声音是改变了,但是还是女生,是yaoyao的女生。是因为下面注册表路径中VoicePath这个配置的路径指向了yaoyao的文件。 如何使用Microsoft Speech SDK,请参考https://blog.youkuaiyun.com/daoming1112/article/details/77542562 使用系统自带男声语音,不需...

u012161365的博客 7538

SpringMVC数据转换

SpringMVC数据转换 Converter Formatter

liouyi250的博客 432

零基础学习CANoe Panel(5)——改变变量的值,控件图像也改变,这是怎么回事?

Panel 中控件的图像随着值变化,是怎么回事?

蚂蚁小兵 2145

使用CNN/ResNet实现自动调制识别(RML2018.01a)

本文基于RML2018.01a大型数据集,给出CNN及其变体ResNet的信号识别的实现方式(附代码) 目录一、CNN的代码实现1.1 导入包1.2 数据读取及数据集划分1.3 构建CNN模型1.4 模型训练1.5 测试及模型可视化二、ResNet的代码实现 RML2018.01a数据集信息如下: 数据集来源 Over-the-Air Deep Learning Based Radio Signal Classification 调制类型 19种数字调制方式: 32PSK, 16APSK,

QAQIknow的博客 1万+

Spring MVC学习(七)-------SpringMVC数据类型转换

7.1、简介 在编写可视化界面项目时,我们通常需要对数据进行类型转换、验证及格式化。   一、在Spring3之前,我们使用如下架构进行类型转换、验证及格式化:  流程: ①:类型转换:首先调用PropertyEditor的setAsText(String),内部根据需要调用setValue(Object)方法进行设置转换后的值; ②:数据验证:需要显示调用Spring的Val

孤雁是天的寂寞 2304

微信小程序 - 详细实现打开跳转第三方 H5 网页链接,在微信小程序内直接跳转打开第三方网站链接详细教程(支持跳转公众号文章等,直接复制代码即可)

小程序跳转h5,小程序-Taro小程序中打开h5页面链接,...小程序跳转h5链接(web-view)_微信小程序,小程序如何跳转h5页面,小程序跳转到第三方H5网页,微信小程序跳转第三方H5的方法,小程序-实现怎么跳转打开H5网页链接(或跳转至公众号文章,打开第三方网站,放校验文件,怎么配置业务域名,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,后台配置,怎么

🏆 前端领域优质创作者 3万+

参数校验—JSR303 校验

使用 Java规范校验 303号,JSR303。日期出入格式化。第一步,在需要进行校验的参数前加上 @Valid注解。一般加在 Controller 的入参中。

Eris_QwQ的博客 980

uniapp - H5网页打包运行报错Failed to load resource: net::ERR_FILE_NOT_FOUND(uniApp打包成H5部署到服务器,打包h5白屏并报错页面空白)

Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp 坑之打包之后白屏,uniapp打包h5,HBuilderX 打包H5后空白报错 Failed to load resource: net::ERR FILE NOT_FOUND,UNI-APP H5应用白屏(空白页)解决方案,白屏并报错Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp开发,打包成H5部署到服务器,uniapp打包之后首页

🏆 前端领域优质创作者 3576

三种方法教你下载大模型到本地,总有一种适合你

本文主要介绍了下载大模型到本地的三种解决方案,希望能对同学们有所帮助。 文章目录 1. 场景/问题描述 2. 方案一:使用git 3. 方案二:镜像站 4. 方案三:高速下载工具(变体及自定义代码) 4.1 aria2 4.2 自定义代码

weixin_43178406的博客 17万+

SpringMVC 15. 数据交换

数据交换 数据绑定流程 Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象 DataBinder 调用装配在 Spring MVC 上下文中的ConversionService 组件进行数据类型转换、数据格式化工作。将 Servlet 中的请求信息填充到入参对...

GardenerHan的博客 1487

手把手教你学simulink(28.2)--四旋翼无人机景示例:基于自抗扰控制(ADRC)的无人机姿态稳定系统

通过上述代码实现,您可以逐步创建和搭建一个基于自抗扰控制的无人机姿态稳定系统。该系统能够实时估计和补偿外部扰动及模型不确定性,确保无人机姿态稳定。自抗扰控制具有较强的鲁棒性和适应性,能够在存在不确定性和扰动的情况下提供快速且精确的控制性能。Simulink提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。无人机动力学建模:建立无人机的六自由度(6-DOF)动力学模型,包括位置、速度、姿态角和角速度。自抗扰控制器设计。

MHD0815的博客 499

SpringMVC系列九: 数据格式化与验证及国际化

SpringMVC系列九: 数据格式化与验证及国际化

你好, 我在学java的博客 953

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringMVC 之三(数据类型转换、数据格式化及数据校验)

10、数据类型转换 10.1 数据绑定流程 (1)Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象 (2)DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换、数据格式化工作。将 Servlet 中的请求信息填充到入参对象中 (3)调用 Validator 组件对已经绑定了请求消息的入参对象进行数据合法性校

CoderJay 631

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringMVC进阶(数据格式化以及数据校验)

回到之前的springmvc项目下@NumberFormat(pattern = "###,###.##") //如果填充的是123,122.12则会转换成123122.12的浮点数//在将请求信息封装到monster里的时会进行校验,如果有错误则封装到errors中,//在map中封装了monster对象,以及错误信息/*1.使用这个注解标识的方法会在封装信息到monster对象之前执行2.可以取消对某个属性的绑定。

Sun的个人博客 1254

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SpringMVC数据校验、数据格式化处理、国际化设置

国际化(也叫 i18n),由于国际化英文单词是 internationalization,在 i 和 n 之间有 18 个字母,因此国际化又叫做 i18n。国际化是指程序在不做任何修改的情况下,就可以在不同的国家或地区和不同的语言环境下,按照当地的语言和格式习惯的显示字符,例如MyBatis官方网站等。国际化设置场景:•Spring标签国际化•接口方法国际化。

weixin_74141581的博客 1242

SpringMVC-数据类型转换、格式化、JSR303校验

1. 数据绑定流程   SpringMVC通过反射机制对目标处理方法进行解析,将请求消息绑定到处理方法的入参中。其中,数据绑定的核心部件是DataBinder,运行机制如下:      数据绑定的具体流程说明如下: SpringMVC主框架将ServletRequest对象和目标方法的入参实例传递给WebDataBinderFactory实例,以创建DataBinder实例对象; Data...

liberty12345678的专栏 616

springmvc基于注解的使用(类型转换器&数据格式化&数据校验)

springmvc基于注解的使用(类型转换器&数据格式化&数据校验)1、类型转换器2、数据格式化2.1、提交时的jsp2.2、后端控制器2.3、实体类2.4、最后展示的jsp3、数据格式化(hibernate-validate)3.1、描述3.2、使用普通标签实现3.3、使用form标签实现 1、类型转换器 在SpringMvc中有许多的类型转换器,都在Convert这个接口下面定义着,但是有时候我们也会遇到我们需要转换的形式SpringMvc没有提供,我们就可以自定义一个类型转换器:

qq_41931364的博客 1245

SpringMVC 学习笔记(八)- 数据转换 & 数据校验 & 数据格式化

1. 数据绑定流程 Spring MVC 主框架将ServletRequest 对象目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象 DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换、数据格式化工作。将 Servlet 中的请求信息填充到入参对象中 调用 ...

0start1的博客 299

JavaWeb-21-SpringMVC的数据转换 & 数据格式化 & 数据校验

一:

苍煜 828

SpringMVC数据转换与校验解析

3. 自定义错误消息 八、最佳实践总结 分层校验策略:前端:基本格式验证(HTML5 验证)控制器:数据格式和业务规则验证服务层:核心业务逻辑验证数据库:最终数据完整性约束转换器与格式化器选择:简单转换:使用 需要本地化的转换:使用 复杂业务转换:在服务层实现校验优化技巧: 性能注意事项:避免在转换器中进行耗时操作缓存转换器和格式化器实例对大型集合使用惰性绑定安全建议:

m0_75107803的博客 657

springMVC框架的参数绑定之数据类型转换

伙伴们注意了! 小编在这里给大家送上关注福利: 转发本文,关注“速学Java”公众号即可领取小编精心准备的资料一份! 温馨提示:本文阅读需要4分钟,建议收藏后阅读! 各位小伙伴 今天我们分享的是 springMVC 的数据类型转换 还记得之前有小伙伴留言 想看这部分的内容 咱们开始吧! ヾ(◍°∇°◍)ノ springmvc的参数绑定 先来一起看下 springMVC...

suxue_java的博客 462

SpringMVC_数据校验

SpringMVC_数据校验

底层码农 1万+

十、SpringMVC--数据格式化和数据校验

数据格式化 对属性对象的输入输出进行格式化,从其本质讲依然属于“类型转换”的范畴。 Spring在格式化模块中定义了一个实现ConversionService接口的FormattingConversionService实现类,该实现类扩展了GenericConversionService,因此它既具有类型转换的功能,又有格式化的功能。 FormattingConversionService拥有一个FormattingConversionServiceFactoryBean工厂类,后者用于在Spring上下

Adela0916的博客 357

SpringMVC(二)——参数注入、数据类型转换、常用的注解、数据校验

一、请求参数的绑定 1.1 请求参数的绑定说明 (1)表单提交的数据格式都是key=value的格式的,比如username=haha&password=123。springMVC的参数绑定过程就是将表单提交的请求参数,自动映射为控制器方法的参数。 要求的是:保证表单提价的name属性和方法的参数名称相同 (2)支持基本数据类型、引用数据类型。实体类型(JavaBean)或者还可以是集合数据类型(List、Set、Map集合) 1.2 注意事项: 基本数据类型和字符串类型的时候,要求表单的name

GXlbj23的博客 942
上一篇: SpringMVC-7 RESTful CRUD
下一篇: SpringMVC-9 处理JSON数据
丙子先生
博客等级 码龄10年 59粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值