java之数据格式化
1、对属性对象的输入/输出进行格式化,从其本质上讲依然属于 “类型转换” 的范畴。
2、Spring 在格式化模块中定义了一个实现 ConversionService 接口的FormattingConversionService 实现类,该实现类扩展了 GenericConversionService,因此它既具有类型转换的功能,又具有格式化的功能
3、FormattingConversionService 拥有一个 FormattingConversionServiceFactoryBean 工厂类,后者用于在 Spring 上下文中构造前者,FormattingConversionServiceFactoryBean 内部已经注册了 :
NumberFormatAnnotationFormatterFactory:支持对数字类型的属性使用
@NumberFormat 注解
JodaDateTimeFormatAnnotationFormatterFactory:支持对日期类型的属性使用
@DateTimeFormat 注解
4、装配了 FormattingConversionServiceFactroyBean 后,就可以在 Spring MVC 入参绑定及模型数据输出时使用注解驱动了。
<mvc:annotation-driven/> 默认创建的 ConversionService 实例即为DefaultFormattingConversionService。
@DateTimeFormat 注解可对util.Date、java.util.Calendar、java.long.Long 时间类型进行标注:
pattern 属性:类型为字符串。指定解析/格式化字段数据的模式,如:”yyyy-MM-dd hh:mm:ss”
iso 属性:类型为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:完整日期/时间格式、-:忽略日期或时间格式。
@NumberFormat 可对类似数字类型的属性进行标注,它拥有两个互斥的属性:
style:类型为Style。用于指定样式类型,包括三种:Style.NUMBER(正常数字类型)、 Style.CURRENCY(货币类型)、 Style.PERCENT(百分数类型)
pattern:类型为 String,自定义样式,如pattern=”#,###”;
- 页面表单
- Employee类增加日期对象属性
- 关于格式错误(框架默认支持的格式为斜线方式。1990/09/09)
在页面上设置格式为:1990-09-09
报错:
- 解决400错误:
在Employee类的日期属性上增加
- 配置,配置时不能指定conversion-service属性,否则,依然报错400。
用FormattingConversionServiceFactoryBean替换ConversionServiceFactoryBean后再进行引用。
(后台获取错误消息,并打印)
Java操作手册:Eclipse常用快捷键(第4篇)
Eclipse快捷键能够加快代码开发速度,键盘和鼠标配合使用,效果更佳。下面介绍Eclipse常用快捷键。
使用Ctr+Alt+L,会出现如下窗口。
这里面列举出了所有Eclipse支持的快捷键,按字母可以实现快速定位,比如输入d,会快速定位到d开始的快捷键。
如果想要修改或添加Eclipse中的快捷键,可以点击菜单栏中的Window->Preference,并点击左侧的Keys,出现如下窗口。
在右侧输入框中可以输入要查找的快捷键信息(英文),即可实现筛选。点击某一个快捷键,下方Bingding中可输入你想要修改后的快捷键,但是注意不能和已有的快捷键冲突。
Ctr+S:在代码编辑窗口中,可以按此快捷键保存修改的内容,当没有保存时,会在代码编辑窗口上方的文件名前出现*,表示还没有保存,我们在开发代码的时候,一定要修改一点就按一下快捷键保存,养成良好的习惯,具体的代码编辑框如下图所示。
Ctr+C:当需要复制内容时,可先选中要复制的内容,按此快捷键,就可实现复制。
Ctr+V:当需要粘贴内容时,可将光标移动到指定位置,按此快捷键,就可实现粘贴。前提是先复制了一些内容,才有内容可以粘贴。在Windows10系统中,按快捷键Windows+V可以实现查看复制历史。
Ctr+X:当需要剪切内容时,可先选中要剪切的内容,按此快捷键,就可实现剪切,剪切相当于先复制选中内容,再删除选中内容的组合操作。
Ctr+Z:当在代码编辑窗口进行了一些操作之后,如果想要撤回,可以使用此快捷键,也可多次按此快捷键,实现多次撤回。
Ctr+Y:当使用了Ctr+Z实现撤销之后,如果想要恢复撤销的内容,可以使用此快捷键。
Ctr+A:可以快速全选当前编辑窗口中所有的文字,一般配合Ctr+C或Ctr+X或Ctr+V等快捷键使用。
Ctr+F:在当前编辑窗口按此快捷键出现如下窗口。
在第一个输入框中输入你想要搜索的字母,并按Find按钮,可以实现快速查找和定位。
Ctr+1:当代码中出现警告或者错误时,将光标移动到警告或者出错处,并按此快捷键,可出现提示操作。
按此快捷键弹出的对话框中,会给你解决问题的建议,可以选择其中一个你认为正确的,点击enter即可解决问题。
Ctr+W:可以关闭当前激活的代码编辑框。
Ctr+Shift+W:可以关闭所有打开的代码编辑框。
Ctr+M:可以最大化当前激活的代码编辑框。增加我们代码编辑框的空间。
Ctrl+Shift+F:当代码格式比较混乱,可以使用此快捷键快速格式化代码,使代码排版变得美观。比如在使用此快捷键之前的代码格式如下。
使用此快捷键之后,会立刻变成如下效果。
Ctrl+Shift+O:当我们导入了多余包,或者有些类没有导入包会报如下的错误
这时我们可以按此快捷键实现快速批量导入包,解决错误。
Alt+/:此快捷键时开发时必用的,也是非常重要的快捷键,当我们在编写代码时,需要帮助就可按此快捷键,比如我们只写了类的前几个字母,按此快捷键就提示我们他可能是什么,还有很多,在使用时自己挖掘。
Ctr+D:可快速删除当前行。
Alt+↓:可快速实现当前行和下一行互换位置。
Alt+↑:可快速实现当前行和上一行互换位置。
Ctrl+Alt+↓:可快速实现复制当前行当下一行。
Ctrl+Alt+↑:可快速实现复制当前行当上一行。
Ctrl+/ :可快速注释当前行,再次按此快捷键可取消注释当前行。
Ctrl+K:当选中一个单词,按此快捷键,可快速定位到下一个相同的单词。
Ctrl+Shift+K:当选中一个单词,按此快捷键,可快速定位到上一个相同的单词。
Ctrl+H:快速打开全局搜索对话框。
Ctrl+Shift+T:搜索工程和关联的第三方jar包类型,支持模糊匹配,可出现如下对话框,在对话框的输入框中输入类型即可进行搜索,如下图所示。
选择其中一个就可以进入类型对用的源码中。
Ctrl+Shift+R:可实现快速搜索工程中的文件,支持模糊匹配,比如使用了此快捷键,并在输入框中输入项目中已有的文件名,出现如下对话框。
再点击列表中的某一项,即可快速打开目标文件。
Alt+←:当代码编辑器中打开了多个文件时,可以使用此快捷键打开前一个编辑的界面。
Alt+→ :当代码编辑器中打开了多个文件时,可以使用此快捷键打开后一个编辑的界面。
Alt+Shift+R:选中方法名、属性或者变量名,再按此快捷键,即可实现重命名,当前文件有多个方法名、属性或者变量名,此快捷键支持批量修改,非常好用。
Alt+Shift+M:先选中一段代码,再按此快捷键,出现如下对话框。
在输入框中输入方法名字,再点击OK按钮即可抽象出该方法,非常好用。
Alt+Shift+L: 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候。比如在如下代码中选中字符串\”请输入长\”,并按此快捷键,会出现如下对话框。
在输入框中输入变量名,再按OK按钮,即可实现抽取变量,抽取之后如下如所示。
Ctrl+O:在代码编辑框中按此快捷键,会出现如下对话框。
会列出当前类中所有的方法名,尤其是类中代码行数和方法比较多时,能够快速了解代码结构。
Eclipse的快捷键远不止这些,但本文中列出的快捷键足够日常开发了,如果有疏漏,欢迎评论留言。
至此完成了本节课的任务。如果对您有帮助,欢迎点赞、评论、关注、转发。祝生活愉快。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。