springMVC 类型转换器

本文介绍了SpringMVC中的内置类型转换器,包括标量、集合、数组和默认转换器的详细说明,并重点讲解了如何进行日期类型的格式转换,包括自定义转换格式和使用@DateTimeFormat注解简化日期转换规则。同时提到了启用注解驱动转换的配置方法。

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

springMVC 类型转换器

  • 标量转换器
     StringToBooleanConverter String→Boolean
     ObjectToStringConverter Object→String
     StringToNumberConverterFactory String→Number( Integer、 Long等)
     NumberToNumberConverterFactory Number子类型之间(Integer、 Long、 Double等)
     StringToCharacterConverter String→java.lang.Character
     NumberToCharacterConverter Number子类型(Integer、 Long、 Double等)→java.lang.Character
     CharacterToNumberFactory java.lang.Character→Number子类型(Integer、 Long、 Double等)
     StringToEnumConverterFactory String→enum类型
     EnumToStringConverter enum类型→String
     StringToLocaleConverter String→java.util.Local
     PropertiesToStringConverter java.util.Properties→String
     StringToPropertiesConverter String→java.util.Properties

  • 集合、数组相关转换器
     ArrayToCollectionConverter 数组→集合( List、 Set)
     CollectionToArrayConverter 集合( List、 Set) →数组
     ArrayToArrayConverter 数组间
     CollectionToCollectionConverter 集合间( List、 Set)
     MapToMapConverter Map间
     ArrayToStringConverter 数组→String类型
     StringToArrayConverter String→数组, trim后使用“,”split
     ArrayToObjectConverter 数组→Object
     ObjectToArrayConverter Object→单元素数组
     CollectionToStringConverter 集合( List、 Set) →String
     StringToCollectionConverter String→集合( List、 Set), trim后使用“,”split
     CollectionToObjectConverter 集合→Object
     ObjectToCollectionConverter Object→单元素集合

  • 默认转换器
     ObjectToObjectConverter Object间
     IdToEntityConverter Id→Entity
     FallbackObjectToStringConverter Object→String

日期类型格式转换

  • 声明自定义的转换格式并覆盖系统转换格式

    <!--5.启用自定义Converter-->
    <mvc:annotation-driven conversion-service="conversionService"/>
    <!--1.设定格式类型Converter,注册为Bean,受SpringMVC管理-->
    <bean id="conversionService"
          class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <!--2.自定义Converter格式类型设定,该设定使用的是同类型覆盖的思想-->
        <property name="formatters">
            <!--3.使用set保障相同类型的转换器仅保留一个,避免冲突-->
            <set>
                <!--4.设置具体的格式类型-->
                <bean class="org.springframework.format.datetime.DateFormatter">
                    <!--5.类型规则-->
                    <property name="pattern" value="yyyy-MM-dd"/>
                </bean>
            </set>
        </property>
    </bean>
    
  • 日期类型格式转换(简化版)
     名称: @DateTimeFormat
     类型: 形参注解、成员变量注解
     位置:形参前面 或 成员变量上方
     作用:为当前参数或变量指定类型转换规则
     范例:

    public String requestParam12(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date){
        System.out.println("date="+date);
        return "page.jsp";
    }
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    
  • 注意:依赖注解驱动支持
    使用这个注解,要在springmvc配置文件中
    写出支持注解驱动的语句
    <mvc:annotation-driven />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

普希托夫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值