/** * 自定义 数据转换器 * @return */ @Bean public ConversionServiceFactoryBean conversionService(){ ConversionServiceFactoryBean conversionServiceFactoryBean=new ConversionServiceFactoryBean(); Set<Converter> converters=new HashSet<Converter>(); converters.add(new DateConverter());//日期转换器 conversionServiceFactoryBean.setConverters(converters); return conversionServiceFactoryBean; }
package cn.freshz.common; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.springframework.core.convert.converter.Converter; /** * SpringMVC 自定义 日期转换器 * * @author :<a href="mailto:zyj@freshz.cn">章英杰</a> * @date :2016-09-05 14:03:54 */ public class DateConverter implements Converter<String, Date> { /** * 可格式化 的日期 字串 */ private static final List<String> formarts = new ArrayList(); static{ formarts.add("yyyy-MM"); formarts.add("yyyy-MM-dd"); formarts.add("yyyy-MM-dd hh:mm"); formarts.add("yyyy-MM-dd hh:mm:ss"); } @Override public Date convert(String source) { String value = source.trim(); if ("".equals(value)) { return null; } if(source.matches("^\\d{4}-\\d{1,2}$")){ return parseDate(source, formarts.get(0)); }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){ return parseDate(source, formarts.get(1)); }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){ return parseDate(source, formarts.get(2)); }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){ return parseDate(source, formarts.get(3)); }else { throw new IllegalArgumentException("Invalid boolean value '" + source + "'"); } } /** * 功能描述:格式化日期 * * @param dateStr String 字符型日期 * @param format String 格式 * @return Date 日期 */ public Date parseDate(String dateStr, String format) { Date date=null; try { DateFormat dateFormat = new SimpleDateFormat(format); date = (Date) dateFormat.parse(dateStr); } catch (Exception e) { } return date; } public static void main(String[] args) { System.err.println(new DateConverter().convert("2014-04")); } }
相关推荐
Spring Boot默认提供了多种消息转换器,如FastjsonHttpMessageConverter、Jackson的MappingJackson2HttpMessageConverter等。然而,在某些特定场景下,我们可能需要自定义消息转换器来满足特定的序列化或反序列化...
在SpringBoot 项目中实现枚举转换,需要创建BaseEnumTypeHandler 类继承BaseEnum 和 BaseTypeHandler 等相关类。想要详细了解如何实现枚举转换的话,那你快点下载后深入理解吧!
Springboot驼峰下划线转换配置
这个压缩包可能包含了一个示例项目,展示了如何在SpringBoot中配置和使用过滤器或拦截器进行登录验证。你可能需要解压并导入到IDE中,按照提供的说明运行和测试,以便更好地理解和学习这个功能。 通过深入理解这些...
在这种情况下,Spring Boot默认并不会自动将前端传来的字符串日期转换为Date对象,反之亦然。这是因为JSON标准并没有定义日期的特定格式,所以需要我们手动处理这种转换。 在上述例子中,`UserDTO`类有一个`...
例如,当你需要将JSON数据转换为Java对象或反之亦然时,SpringBoot会自动配置一些默认的转换器,如`Jackson2JsonHttpMessageConverter`。你可以通过扩展`WebMvcConfigurer`接口并覆盖`extendMessageConverters`方法...
2. **后端**:在SpringBoot应用中,设置控制器接收Ajax请求,使用MyBatis查询数据库,获取指定日期范围内的数据。这些数据包括对应的日期和具体数值,可能存储在一个包含多条记录的列表或数组中。 3. **数据处理**...
在本项目中,我们主要探讨的是如何将SpringBoot与Mybatis进行深度整合,并实现完整的注册、登录功能,以及设置拦截器来控制权限访问。SpringBoot以其简洁的配置和快速的开发能力,配合Mybatis的灵活数据库操作,可以...
根据网上的资料总结的一个springboot 转换pdf Word文档大小最好2m以下 需要安装OpenOffice.org 3.3 链接:https://pan.baidu.com/s/1onrkhBCNlGLEmf3hPwzXWw 密码:8h5a
日期格式化是指将日期和时间转换为特定的格式,以便于在应用程序中使用。在 Springboot 应用程序中,日期格式化处理是一个重要的任务,因为日期和时间是应用程序中的核心元素。 在本文中,我们将介绍 Springboot ...
springboot利用拦截器打印各个接口的响应时间,快速统计各接口执行速度,方便接口优化。springboot利用拦截器打印各个接口的响应时间,快速统计各接口执行速度,方便接口优化。springboot利用拦截器打印各个接口的响应...
"Springboot过滤器禁止ip频繁访问功能实现" Springboot过滤器禁止ip频繁访问功能实现是指在Springboot项目中,通过编写一个过滤器来限制ip频繁访问的功能实现。这项功能可以防止恶意ip的访问,保护服务器的安全。 ...
在本文中,我们将深入探讨如何使用SpringBoot框架开发基于Axis的Web服务。SpringBoot以其便捷的启动和配置方式,已经成为Java开发中的首选框架之一。而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供...
SpringBoot 简单登录功能 拦截器实现。 在实际开发中,我们经常会遇到某些页面需要登录才能查看的情况。下面使用拦截器实现该功能,在用户没有登录的情况下,将网站的所有访问都指向登录页面。 Springboot 登录
直接可以运行,包含测试类,对HTML和SQL进行过滤,方便扩展。并且可以配置不拦截的路径,包含注释,方便学习。 博客地址:https://blog.csdn.net/u011974797/article/details/121792680
在SpringBoot中,过滤器经常用于请求日志记录、文件上传处理、字符编码转换、XSS攻击防御等功能。Spring提供了CharacterEncodingFilter用于字符编码转换,HiddenHttpMethodFilter用于支持HTTP方法的put和delete请求...
狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神...
java springboot tcp通讯 demo ;
针对Java springBoot项目的代码生成器,可按照所选择的表、视图 直接生成对应的实体、Controller、Service代码,体积小、速度快,兼容所有版本的windows和Mysql,无需安装,下载即可使用!