自定义一个SpringMVC的类型转换器后会覆盖原来SpringMVC的类型转换器怎么办?

自定义一个SpringMVC的类型转换器后会覆盖原来SpringMVC的类型转换器怎么办?

我自定义了一个时间类型转换器,来实现对1998-01-01也可以转换成Date类型http://img1.sycdn.imooc.com//climg/5dd8fb420983b92812580874.jpg

http://img1.sycdn.imooc.com//climg/5dd8fb7b094e105c17940388.jpg

并且注册成功了,但我发现,原来SpringMVC的时间类型转换器就失效了,无法对1998/01/01这样的数据来转换成时间类型了,该怎么办呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好。同学指的是@DateTimeFormat失效吗?同时配置全局类型转换器和@DateTimeFormat的时候,@DateTimeFormat注解的确会失效。

1、当参数解析需要类型转换时,会先查询转换器,并检查转换器是否匹配,然后通过转换器做类型转换。

2、如果配置了全局类型转换器,就不要配置注解了。可以通过丰富转换器类的功能来满足需要。

如果解答了同学的疑问,望采纳~

祝学习愉快~

  • MasonM 提问者 #1
    老师我的意思是:首先,SpringMVC框架可以默认对例如1998/01/01的字符串转换成Date对象,然后我自己又自定义了一个时间类型转换器,可以把1998-01-01转换成Date对象,但是SpringMVC框架默认的时间转换器就失效了,怎么办呢?就是如果加上我自己定义的时间转换器,就无法用SpringMVC默认的时间转换器了
    2019-11-24 10:33:33
  • 芝芝兰兰 回复 提问者 MasonM #2
    同学你好,加上自定义的时间转换器,就无法用SpringMVC默认的时间转换器了。这是SpringMVC设计逻辑,默认的时间转换器本就应该是备选方案,不应该同时生效。同学如果想要“1998/01/01的字符串转换成Date对象”这个功能,在自己的StringToDateConverter中实现yyyy/MM/dd的字符串转换成Date对象的逻辑即可。祝学习愉快~
    2019-11-24 10:46:19
好帮手慕阿满 2019-11-23 19:22:09

同学你好,问一下同学是想做什么呢?如果配置了新的时间类型转换器,使用新的时间类型转换器即可。或者同学在需要使用其他时间转换器的地方使用注解试试。

祝:学习愉快~

  • 提问者 MasonM #1
    但这样会把原来SpringMVC自己的时间转换器覆盖掉了的,这可咋办?
    2019-11-23 19:24:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师