一,背景

近期项目上需求还没有确定,难道清闲,对项目中不合理的地方进行一些升级改造。鉴于项目使用的技术框架比较老旧(spring 3.0+) ,一直没有对此做大的升级改造。由于之前项目入参,出参都是使用统一的map进行接收,字段使用String进行接受,导致开发人员工作时,重复代码量大,效率低下。于是做了一些优化处理,比如统一对日期进行处理。这里简单介绍对日期处理问题。

二,对前端传来的日期统一处理

2.1 编写DateConvert类

package com*.common.convert;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter; public class DataConvert implements Converter<String, Date> { private static final Logger LOGGER= LoggerFactory.getLogger(DataConvert.class);
public String datePattern="yyyy-MM-dd HH:mm:ss"; public void setDatePattern(String datePattern) {
this.datePattern = datePattern;
} @Override
public Date convert(String source) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);
try {
return simpleDateFormat.parse(source);
} catch (ParseException e) {
LOGGER.error("对日期进行格式转换异常!期望的格式:{}",datePattern,e);
} return null;
} }

2.2 配置修改

    <mvc:annotation-driven conversion-service="conversionService" />
<!-- 配置统一日期格式转换器(前端传入-后台接收处理) -->
<bean id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.winning.mmap.core.common.convert.DataConvert">
<property name="datePattern" value="yyyy-MM-dd HH:mm:ss" />
</bean>
</set>
</property>
</bean>

三,对返回日期格式统一处理

由于springmvc3.0.X不支持<mvc:annotation-driven/> 子标签配置,所以使用如下配置:

    <!--springmvc3.0.5对返回日期格式进行统一转换配置  -->
<bean id="dateHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper">
<bean class="org.codehaus.jackson.map.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />
</bean>
</property>
</bean>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="dateHttpMessageConverter"/>
</list>
</property>
</bean>

当然,如果使用更高版本,配置则更为简单。

四,结语

现在流行无配置文件化开发,比如springboot开发,但几年的开发经验告诉我,配置文件使用起来也是很方便,后面会尽量使用注解合配置文件结合,进行开发工作。

希望可以遇见更好的项目,更好的技术,更好的自己。

springmvc 对日期的转换与处理的更多相关文章

  1. SpringMVC与MyBatis整合之日期格式转换

    在上一篇博客<SpringMVC与MyBatis整合(一)——查询人员列表>中遗留了日期格式转换的问题,在这篇记录解决过程. 对于controller形参中pojo对象,如果属性中有日期类 ...

  2. SpringMVC中日期格式的转换

    解决日期提交转换异常的问题 由于日期数据有很多种格式,所以springmvc没办法把字符串转换成日期类型.所以需要自定义参数绑定.前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestM ...

  3. 转:SpringMVC中日期格式的转换

    解决日期提交转换异常的问题 由于日期数据有很多种格式,所以springmvc没办法把字符串转换成日期类型.所以需要自定义参数绑定.前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestM ...

  4. ssm日期格式转换

    ssm日期格式转换 1      需求 前端传入字符串类型日期转化成java中的Date类型,存入数据库中;将数据库中的日期类型通过jstl标签在前端页面转换成字符串类型. 2      步骤 2.1 ...

  5. springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用

    关于springmvc日期问题的解决方式 除了本博客的[springMVC 前后台日期格式传值解决方式之 @DateTimeFormat的使用和配置]一文, 还有如下这种方式: 在Controller ...

  6. 日期格式转换 java 2016-09-03T00:00:00.000+08:00

    /**  * 日期格式转换yyyy-MM-dd'T'HH:mm:ss.SSSXXX  (yyyy-MM-dd'T'HH:mm:ss.SSSZ) TO  yyyy-MM-dd HH:mm:ss  * @ ...

  7. Oracle日期格式转换,tochar(),todate()

    Oracle日期格式转换 本文主要介绍Oracle中的日期转换. 1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh2 ...

  8. Python 日期格式转换

    经常需要爬取网站上的时间信息,不同的网站又有不同的日期显示方式.而我需要将日期格式转化为一种特定的格式,所以为了简便和学习,记录下各种不同的日期格式转换. 日期格式化符号: %y :两位数的年份表示( ...

  9. 在SQL Server中 获取日期、日期格式转换

    --常用日期转换参数: PRINT CONVERT(varchar, getdate(), 120 ) 2016-07-20 16:09:01 PRINT replace(replace(replac ...

随机推荐

  1. (转)SQLServer查询数据库各种历史记录

    原文地址https://www.cnblogs.com/seusoftware/p/4826958.html 在SQL Server数据库中,从登陆开始,然后做了什么操作,以及数据库里发生了什么,大多 ...

  2. error C4996: 'sprintf': This function or variable may be unsafe.

    error C4996: 'sprintf': This function or variable may be unsafe.   error C4996: 'sprintf': This func ...

  3. CentOS7 YUM安装与配置 MySQL5.7

    原文链接:http://blog.csdn.net/xyang81/article/details/51759200 安装环境:CentOS7 64位,MySQL5.7 1.配置YUM源 在MySQL ...

  4. 生活实遇记-Kindle好久没用,屏幕一直处于电池状态,怎么解决?

    2018-01-02 实遇记-Kindle好久没用,屏幕一直处于电池状态,怎么解决? 今天我翻腾出自己的kindle,好久没用了,屏幕一直是一个电池状态,充电头+线充了2个钟头,按电源键木有反应,也是 ...

  5. java学习-- equals和hashCode的关系

    hashcode的目的就是在hashset或者hashmap等中比较两个对象相等时,减少equals的使用次数来提高效率 以下为摘录 java中hashcode和equals的区别和联系 HashSe ...

  6. 通过yum安装php7

    Linux下全局安装composer方法: //下载composercurl -sS https://getcomposer.org/installer | php //将composer.phar文 ...

  7. SQL Server 磁盘请求超时的833错误原因分析以及解决

    本文出处:http://www.cnblogs.com/wy123/p/6984885.html 最近遇到一个SQL Server服务器响应极度缓慢,并且出现客户端请求报错的情况,在数据库中的erro ...

  8. 《Spring_Four》第二次作业 基于Jsoup的大学生考试信息展示系统开题报告

    一.项目概述 该项目拟采用Jsoup对大学生三大考试(考研.考公务员.考教师资格证)进行消息搜集,研发完成一款轻量级的信息展示APP,本项目主要的创新点在于可以搜集大量的考试信息,对其进行一个展示,而 ...

  9. Matlab文本处理:提取指定内容

    clc;clear; fileno=1; for i=1:fileno fid2=fopen('4B1T_wb_eq.txt','w'); %save data to 'logfile' in Mat ...

  10. Spring使用Jackson处理json数据

    1.搭建SpringMVC+Spring环境 2.配置web.xml.SpringMVC-config.xml <?xml version="1.0" encoding=&q ...