Spring4:具有Java 8 Date-Time API的@DateTimeFormat

logo-spring-io

在Spring 3.0中作为Formatter SPI的一部分引入的@DateTimeFormat批注可用于解析和打印Web应用程序中的本地化字段值。 在Spring 4.0中, @DateTimeFormat批注可以直接与Java 8 Date-Time API( java.time )一起使用。

在Spring中,可以通过字段类型或注释来配置字段格式。 要将注释绑定到格式化程序,必须实现AnnotationFormatterFactory 。 Spring 4.0 Jsr310DateTimeFormatAnnotationFormatterFactoryJsr310DateTimeFormatAnnotationFormatterFactory ,该Jsr310DateTimeFormatAnnotationFormatterFactory格式化了以@DateTimeFormat注释的Java 8 Date-Time字段。 支持的字段类型如下:

  • java.util.LocalDate
  • java.util.LocalTime
  • java.util.LocalDateTime
  • java.util.ZonedDateTime
  • java.util.OffsetDateTime
  • java.util.OffsetTime

可以采用以下形式使用所有提到的类型:

public class DatesForm {@DateTimeFormat(iso = ISO.DATE)private LocalDate localDate;@DateTimeFormat(iso = ISO.TIME)private LocalTime localTime;@DateTimeFormat(iso = ISO.TIME)private OffsetTime offsetTime;@DateTimeFormat(iso = ISO.DATE_TIME)private LocalDateTime localDateTime;@DateTimeFormat(iso = ISO.DATE_TIME)private ZonedDateTime zonedDateTime;@DateTimeFormat(iso = ISO.DATE_TIME)private OffsetDateTime offsetDateTime;}

表单可以传递给视图,Spring会照顾字段的正确格式。

datetimeformat-spring-4-java-8-1

在类型字段上指定格式时: java.util.LocalDatejava.util.LocalTimejava.util.OffsetTime您需要记住正确配置@DateTimeFormat

@DateTimeFormat声明字段应设置为日期时间,并且因为java.util.LocalDate表示日期,而其他两个表示时间–您将获得java.time.temporal.UnsupportedTemporalTypeException (例如:不支持的字段:ClockHourOfAmPm,不支持字段:java.time.format.DateTimeFormatter抛出的java.time.format.DateTimeFormatter

翻译自: https://www.javacodegeeks.com/2014/06/spring-4-datetimeformat-with-java-8-date-time-api.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSF中run项目时候Tomcat8启动不了的一种方法

把另一个博客内容迁移到这 我的问题是Tomcat是可以启动的 但是run那个jsp的时候七月 10, 2016 3:14:54 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse…

elasticsearch_dsl.exceptions.ValidationException: You cannot write to a wildcard index.

elasticsearch_dsl.exceptions.ValidationException: You cannot write to a wildcard index. 这里是因为版本不匹配的问题 查看es版本方法如下: 查看elasticsearch包与elasticsearch-dsl版本方法(pip list)如下: 因为我的es是5.1…

在Java中对Singleton类进行双重检查锁定

Singleton类在Java开发人员中非常常见,但是它给初级开发人员带来了许多挑战。 他们面临的主要挑战之一是如何使Singleton保持为Singleton? 也就是说,无论出于何种原因,如何防止单个实例的多个实例。 对Singleton进行双重检查锁定是…

wstngfw中使用Viscosity连接OpenV-P-N服务器

wstngfw中使用Viscosity连接OpenV-P-N服务器 在本例中,将假设以下设置: 站点 A站点 B名称Beijing Office(北京办公室)名称Shenzheng Office(深圳办公室)WAN IP192.168.10.46WAN IP192.168.20.46LAN 子网192…

开张了!

今天开张了,试试看! Code1using System; 2using System.Collections.Generic; 3using System.Text; 4 5namespace Model 6{ 7 public enum SiteType 8 { System,External,All}; 9 [Serializable]10 class SiteInfo11 {12 public i…

dubbo和zookeeper的关系

转载前言:网络上很多教程没有描述zookeeper和dubbo到底是什么关系、分别扮演了什么角色等信息,都是说一些似是而非的话,这里终于找到一篇文章,比较生动地描述了注册中心和微服务框架之间的关系,以及他们之间的合作分工…

Flink学习(二)Flink中的时间

摘自Apache Flink官网 最早的streaming 架构是storm的lambda架构 分为三个layer batch layerserving layerspeed layer一、在streaming中Flink支持的通知时间 Flink官网写了个了解streaming和各种时间的博客 https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-1…

RSS阅读器使用:ROME,Spring MVC,嵌入式Jetty

在这篇文章中,我将展示一些创建Spring Web应用程序的准则,使用Jetty以及使用名为ROME的外部库运行RSS来运行它。 一般 我最近创建了一个示例Web应用程序,充当RSS阅读器。 我想检查ROME以阅读RSS。 我还想使用Spring容器和MVC创建最简单的视图…

HZOJ string

正解炸了…… 考试的时候想到了正解,非常高兴的打出来了线段树,又调了好长时间,对拍了一下发现除了非常大的点跑的有点慢外其他还行。因为复杂度算着有点高…… 最后正解死于常数太大……旁边的lyl用同样的算法拿了90分我却拿了个暴力的分40……

Unity3D入门其实很简单

在上次发布拙作后,有不少童鞋询问本人如何学习Unity3D。本人自知作为一名刚入门的菜鸟,实在没有资格谈论这么高大上的话题,生怕误导了各位。不过思来想去,决定还是写一些自己的经验,如果能给想要入门U3D的您一些启发&a…

4. HTML表单标签

表单是网页中最常见的元素,也是用户和我们交互的重要手段,在网站中的登录、注册、信息更新这些功能都是依赖表单实现的。在HTML中对于表单提供了一系列的标签,即输入框、下拉框、按钮、文本域,如下是一个最常见的表单结构内容&…

为Lucene选择快速唯一标识符(UUID)

大多数使用Apache Lucene的搜索应用程序都会为每个索引文档分配唯一的ID(即主键)。 尽管Lucene本身不需要这样做(它可能不太在乎!),但应用程序通常需要它以后通过其外部ID替换,删除或检索该文档…

ubuntu16.04设置静态ip

最近在课堂上,有很多同学反映在搭建环境的时候,虚拟机ip经常变,那么我们配置好的web服务可能就不能用了。下面讲一下如何在ubuntu上面设置静态ip 1:首先我们确认一下ubuntu的版本 cat /etc/issue 或者sudo lsb_release -a或者unam…

Maven常用的构建命令

Maven常用命令: Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ 一,Maven常用命令: 1. 创建Maven的普通Java项目: mvn archetype:create-DgroupIdpackageName-Dartifa…

课时85.层叠性(掌握)

1.什么是层叠性? 层叠性就是CSS处理冲突的一种能力。 这个字体最终会变为红色 注意点: 层叠性只有在多个选择器选中“同一个标签”,然后又设置了“相同的属性”,才会发生层叠性。 CSS全称:Cascading StyleSheet 层叠样式表&am…

SetProcessWorkingSetSize减少内存占用

系统启动起来以后,内存占用越来越大,使用析构函数、GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetProcessWorkingSetSize函数。这个函数是Windows API 函数。下面是使用的方法:[Syst…

Spring Boot 与消息 (JMS、AMQP、RabbitMQ)

RabbitMQ教程 - 鸟哥的专栏 - CSDN博客 一、概述 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力消息服务中两个重要概念:消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后&#xff0…

JavaOne 2014 –有关提交的一些初步分析

这些天时间不多了。 并行发生的事情如此之多,当然,最重要的Java会议就是一切。 JavaOne 2014已经关闭了CfP门,投票正在进行中。 程序委员会几乎没有什么可以谈论的,但是去年跳过了这种分析之后,现在是我该寻求许可的时…

【译】XNA Shader 程序设计(二)

XNA Shader 程序设计 教程2 - 漫反射 大家好,今天我们将在教程一的基础上继续学习,在光照算式中加上漫反射光。 漫反射光 环境光计算等式为: I Aintensity * Acolor 漫反射基于这个等式,添加了一道有方向的光线: I A…

A股滚动净利润增速最高排名

最近2年(共8个季度)的滚动净利润都在增长,且平均增速超过10%。 计算举例:滚动净利润增速 ((2018Q1 到 2018Q4的净利润之和) / (2017Q4 到 2018Q3的净利润之和) -1) * 100%。 预测下季度:依据以往的增速,进…