色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

springboot全局日期格式化的兩種方式

瀏覽:12日期:2023-04-28 16:07:28

方式一是配置參數

參數配置的方式就是在json序列化的時候,當字段為日期類型的時候的format類型,就相當于在所有日期字段上加了一個注解

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = 'yyyy-MM-dd HH:mm:ss'),但是每個字段都加注解太麻煩,所以直接使用全局配置來實現

參數配置也分為兩種配置

第一種是yml的配置

spring: jackson: #參數意義: #JsonInclude.Include.ALWAYS 默認 #JsonInclude.Include.NON_DEFAULT 屬性為默認值不序列化 #JsonInclude.Include.NON_EMPTY 屬性為 空(””) 或者為 NULL 都不序列化 #JsonInclude.Include.NON_NULL 屬性為NULL 不序列化 default-property-inclusion: ALWAYS time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss

第二中配置方式是properties文件配置

#jackson相關配置spring.jackson.date-format = yyyy-MM-dd HH:mm:ss#時區必須要設置spring.jackson.time-zone= GMT+8#ALWAYS的意思是即時屬性為null,仍然也會輸出這個key,對應yml里面的注釋里面的類型spring.jackson.default-property-inclusion=ALWAYS

方式二是自定義轉換類

先定義一個string轉date的轉換類,需要實現convert接口

import org.apache.commons.lang.StringUtils;import org.springframework.core.convert.converter.Converter;import org.springframework.stereotype.Component;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;/** * 全局handler前日期統一處理 * @author * @date 2019-06-03 */@Componentpublic class DateConverterConfig implements Converter<String, Date> { private static final List<String> formarts = new ArrayList<>(4); private static final String YYYY_MM = 'yyyy-MM'; private static final String YYYY_MM_DD = 'yyyy-MM-dd'; private static final String YYYY_MM_DD_HH_MM = 'yyyy-MM-dd HH:mm'; private static final String YYYY_MM_DD_HH_MM_SS = 'yyyy-MM-dd HH:mm:ss'; 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) { if (StringUtils.isBlank(source)) { return null; } source = source.trim(); 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 false value ’' + source + '’'); } } /** * 格式化日期 * @param dateStr String 字符型日期 * @param format String 格式 * @return Date 日期 */ private Date parseDate(String dateStr, String format) { Date date; try { DateFormat dateFormat = new SimpleDateFormat(format); date = dateFormat.parse(dateStr); } catch (Exception e) { throw new IllegalArgumentException(e.getLocalizedMessage()); } return date; }}

第二步是把這個轉換類添加到WebMvcConfigurationSupport

注意,當用戶重新實現了WebMvcConfigurationSupport這個類之后,在yml中定義的靜態資源路徑啥的會失效,需要在這里再次添加一下靜態資源路徑

import org.springframework.context.annotation.Configuration;import org.springframework.format.FormatterRegistry;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;@Configurationpublic class WebMvcConfig extends WebMvcConfigurationSupport { /** * 添加自定義的Converters和Formatters. */ @Override protected void addFormatters(FormatterRegistry registry) { registry.addConverter(new DateConverterConfig()); } /** * 如果繼承了WebMvcConfigurationSupport,則在yml中配置的相關內容會失效。 需要重新指定靜態資源 * * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler('/**').addResourceLocations('classpath:/static/').addResourceLocations('classpath:/resources/').addResourceLocations('classpath:/META-INF/resources/'); super.addResourceHandlers(registry); }}

到此這篇關于springboot全局日期格式化的兩種方式的文章就介紹到這了,更多相關springboot全局日期格式化內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 日韩女人做爰大片 | 欧美成人69 | 伊大人香蕉久久网欧美 | 日韩在线观看不卡 | 亚洲区精品久久一区二区三区 | 成年人在线观看网站 | 久久在线精品 | 久久免费视频精品 | 亚洲免费成人网 | 91精品观看91久久久久久 | 国产人成久久久精品 | 国内自拍tv在线 | 黄色毛片免费 | 香港一级特黄高清免费 | 久久一本一区二区三区 | 欧美激情一区二区亚洲专区 | 中文三级视频 | 亚洲精品成人av在线 | 色综合久久久久 | 日本巨乳中文字幕 | 国产精品极品美女自在线看免费一区二区 | 国产亚洲欧美一区二区三区 | 亚洲人成高清毛片 | 2022国产精品网站在线播放 | 精品久久久久久久九九九精品 | 97国产影院| 手机看片在线播放 | 国产精品99r8免费视频2022 | 久爱综合 | 国产成人爱片免费观看视频 | 中文字幕精品一区二区三区视频 | av毛片在线看 | 欧美日韩精品在线视频 | 国产91精品一区二区视色 | 91香蕉成人免费高清网站 | 国产精品1区 2区 3区 | 中文字幕中文字幕中中文 | 91精品最新国内在线播放 | 91看片淫黄大片.在线天堂 | 天堂视频在线免费观看 | 国产一区二区三区影院 |