电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:23日期: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
相關文章:
主站蜘蛛池模板: MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 青海电动密集架_智能密集架_密集架价格-盛隆柜业青海档案密集架厂家 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] | 长春网站建设,五合一网站设计制作,免费优化推广-长春网站建设 | 成人纸尿裤,成人尿不湿,成人护理垫-山东康舜日用品有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 天津电机维修|水泵维修-天津晟佳机电设备有限公司 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 心得体会网_心得体会格式范文模板| 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 |