SpringMVC_15_自定义类型转换器

本文介绍了SpringMVC中的ConversionService接口及其在数据转换中的作用。通过ConversionServiceFactoryBean可以在Spring容器中注册自定义类型转换器,包括Converter、ConverterFactory和GenericConverter三种接口。并提供了自定义转换器的步骤,包括创建表单、定义控制器方法、创建转换器类,以及在配置文件中注册转换器。最后,文章展示了如何在实际应用中使用这些自定义转换器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • ConversionService是Spring类型转换体系的核心接口。
  • 可以利用ConversionSeviceFactoryBean在Spring的IOC容器中定义ConversionService.Spring将自动识别出IOC容器中的ConversionService,并在Bean属性配置及Spring MVC处理方法入参绑定等场合使用它进行数据的转换
  • 可通过ConversionServiceFactoryBean的converters属性注册自定义的类型转换器

Spring支持的转换器

  • Spring定义了3中类型的转换器接口,实现任意一个转换器接口都可以作为自定义转换器注册到ConversionServiceFactoryBean中:
    • Converter<S,T>:将S类型对象转为T类型对象
    • ConverterFactory:将相同系列多个“同质”Converter封装在一起。如果希望将一种类型的对象转换为另一种类型及其子类的对象(例如将String转换为Number及Number子类(Integer、Long、Double等)对象)可使用该转换器工厂类
    • GenericConverter:会根据源类对象及目标类对象所在的宿主类中的上下文信息进行类型转换

自定义转换器示例

  • <mvc:annotation-driven conversion-service = “conversionService”/>会将自定义的ConversionService注册到Spring MVC的上下文中

演示:

第一步:写一个表单,用一个text直接接收一个字符串,使其转化为一个类

<form action="testConversionServiceConverer" method="post">
    <!--lastname-email-gender-department.id 例如:GG-gg@atguigu.com-0-105-->
    Employee:<input type="text" name="employee"/>
    <input type="submit" value="Submit"/>
</form>

第二步:新建一个包com.springmvc.test ,创建一个SpringMVCTest.java,写好相应的方法

SpringMVCTest.java

package com.springmvc.test;

import com.springmvc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值