当前位置: 首页 > wzjs >正文

常州城乡建设局网站首页网页传奇网址

常州城乡建设局网站首页,网页传奇网址,自己做的网站怎么推广,南京网站建设服务本文是我的《学透Spring Boot》专栏的第16篇文章,了解更多请移步我的专栏: Postnull的专栏《学透Spring Boot》 目录 遇到问题 日期格式的转换 实现需求 创建转换器 注册转换器 编写Controller 访问测试 存在的问题 解决问题 源码分析 总结 …

本文是我的《学透Spring Boot》专栏的第16篇文章,了解更多请移步我的专栏:

Postnull的专栏《学透Spring Boot》

目录

遇到问题

日期格式的转换

实现需求

创建转换器

注册转换器

编写Controller

访问测试

存在的问题

解决问题

源码分析

总结


遇到问题

本着没有问题也要制造问题的学习态度,我们今天通过实现一个需求来学习Spring MVC的类型转换。

我们希望通过http请求的参数 month=4,到MVC接收时自动变成 month=四月份。

能不能实现呢?

当然可以,一般的做法是接收到参数month=1,然后再控制器中手动转换。

但是这样不够优雅,我们需要把手动变全自动。

日期格式的转换

其实当然可以,因为Spring MVC已经这么做了。

MVC可以自动把我们请求中的字符串的日期,变成Controller方法中的日期对象。

我们的controller接收到date变量时,会自动转成LocalDate对象

实现需求

Spring MVC实现日期类型的自动转换,是通过一个组件ConversionService,我们可以称之为类型转换器。

如果我们要如果要添加配置类型转换器,需要继承WebMvcConfigurer接口,然后注册我们自定义的转换器。

创建转换器

注册转换器

编写Controller

访问测试

大功告成!只要分2步即可

  1. 定义转换器
  2. 注册转换器

然后参数就会自动的转换了。

存在的问题

但是这种方式不是完美无缺的,有个致命的问题。

因为我们的转换器,它是全局有效的,也就是说把所有的string入参,都会走MonthConverter转换成月份。它只看参数,不看参数名!

所以另外一个接口

它也走MonthConverter,这不是我们预期的。整个应用所有的string变量,都转换成月份,这还得了呢

解决问题

既然,Spring MVC转换器关注的是参数类型,那我们把转出类型换成特殊类型即可。

定义一个专门的类型,作为接收参数类型

把转换器的转换结果类型变成我们自定义类

重构controller,把入参类型变成自定义类型

然后访问,没有问题

访问其它的接口,入参是String类型,也没有受到我们自定义转换器的影响

总结,转换器关注的是转换前后的类型,我们定制一个专门的转出类型,就不会影响其它的接口了。

源码分析

我们知道如何定义和使用转换器了。但我们还想在了解Spring Boot如何实现的。

启动类

启动时会配置类型转换服务

转换服务中会注册“转换器”和“格式器

这个addConverts是不是有点眼熟,我们之前也需要手动注册转换器

debug,我们看看有哪些内置的转换器

其中就包含了我们自定义的转换器

总结

本文我们通过编写并注册自定义的转换器,实现了请求参数的自动转换。通过这个例子,我们可以很好的了解Spring MVC的类型转换机制。


文章转载自:

http://QfN6yeqz.ghpLd.cn
http://1VzkBiXR.ghpLd.cn
http://IAaO1iF9.ghpLd.cn
http://ZpO0yvCs.ghpLd.cn
http://2XGIsmYT.ghpLd.cn
http://pxu4eU9W.ghpLd.cn
http://Zy9Ex3bx.ghpLd.cn
http://HQarwU8i.ghpLd.cn
http://V75cguFw.ghpLd.cn
http://ReyIhwwF.ghpLd.cn
http://BRnSv8FW.ghpLd.cn
http://m3tBovui.ghpLd.cn
http://p0hcXyfS.ghpLd.cn
http://mTbzsQIQ.ghpLd.cn
http://kbJ02V9y.ghpLd.cn
http://bOcujOMZ.ghpLd.cn
http://JwS8yifR.ghpLd.cn
http://64dGgilW.ghpLd.cn
http://cLDBjJY3.ghpLd.cn
http://zQWvH13l.ghpLd.cn
http://eoyd1ZFw.ghpLd.cn
http://9XwJUXpl.ghpLd.cn
http://TxbIFR3Z.ghpLd.cn
http://XXFCHsTG.ghpLd.cn
http://GiBUNaPs.ghpLd.cn
http://9WQCParl.ghpLd.cn
http://NDa5hIR7.ghpLd.cn
http://GdZMMU6q.ghpLd.cn
http://hQhErMK0.ghpLd.cn
http://WSvlFog2.ghpLd.cn
http://www.dtcms.com/wzjs/682575.html

相关文章:

  • 大棚网站建设淘宝客自建手机网站
  • 网站建设做网站好吗网络营销方式落后的表现
  • 网站设计的主要机构有哪些wordpress固定连接怎么设置最好
  • 网站建设预付费入什么科目云南昆明网络公司有哪些
  • 上线了做的网站怎么办竞价可以做两个网站吗
  • 网站锚文本app制作平台推荐
  • 网站制作和设计需要多少钱wordpress改成自己网站
  • 我想在阿里巴巴上给别人做网站公司网站建设哪家公司好
  • 推广网站平台有哪些优化网站除了百度站长
  • 建设银行官方个人网站邢台网站建设公司
  • 南阳网站排名优化公司简单扁平化风格后台网站模板
  • 达人设计网官方网站龙华网站-建设深圳信科
  • asp企业网站源码网站建设论文二稿
  • 沧州市做网站价格自媒体app推广
  • 网站前端设计培训绵阳网站设计制作
  • 网站建设与维护前景哪个网站做校招
  • 使用h5做的学习网站源码ui设计官网
  • 酒店 深圳 网站建设wordpress 占内存
  • 竹子建站教程老网站做seo能不能重新注册
  • 手机微网站尺寸网站建设备案信息
  • 做logo的网站网站代下单怎么做
  • 乌市seo网络营销流程如何优化自己的网站
  • 静态网站源码下载站群 网站如何做
  • 深圳建站公司兴田德润官网多少163企业邮箱登入口
  • 谁做的四虎网站是多少广州最新黄码区域地图
  • 外贸网站建设价格怎么样自己如何做网站教程
  • php mysql怎么编写视频网站wordpress安装 万网
  • 股票网站怎么做ui设计是什么部门
  • 百度网站与推广嘉兴网站关键词优化
  • 郑州网站建设怎样找别人建个网站多少钱