真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)

網(wǎng)上雜七雜八的說法不一,大多數(shù)都是抄來抄去,沒有實(shí)踐,近期在項(xiàng)目頻繁遇到boot+jackson處理日期的問題,故開此貼。

成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、德陽服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城網(wǎng)站建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球上1000家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。

首先是POM

<?xml version="1.0" encoding="UTF-8"?>

  4.0.0

  io.cj.learning
  boot2exam
  0.0.1-SNAPSHOT
  jar

  boot2exam
  Demo project for Spring Boot

  
    org.springframework.boot
    spring-boot-starter-parent
    2.0.0.RELEASE
     
  

  
    UTF-8
    UTF-8
    1.8
  

  
    
      org.springframework.boot
      spring-boot-starter-data-redis
    

    
      org.springframework.boot
      spring-boot-starter-web
    

    
      org.springframework.boot
      spring-boot-starter-test
      test
    
    
      org.springframework.boot
      spring-boot-starter-web
      RELEASE
      compile
    
    
      org.springframework.boot
      spring-boot-starter-web
      RELEASE
      compile
    
  

  
    
      
        org.springframework.boot
        spring-boot-maven-plugin
      
    
  


然后是yml文件

當(dāng)然yml這東西很多人不喜歡,我也寫了個properties版本的)

spring:
  jackson:
    #參數(shù)意義:
    #JsonInclude.Include.ALWAYS       默認(rèn)
    #JsonInclude.Include.NON_DEFAULT   屬性為默認(rèn)值不序列化
    #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

上面配置對應(yīng)的properties文件版本:

#jackson相關(guān)配置
spring.jackson.date-format = yyyy-MM-dd HH:mm:ss
#時區(qū)必須要設(shè)置
spring.jackson.time-zone= GMT+8
#ALWAYS的意思是即時屬性為null,仍然也會輸出這個key
spring.jackson.default-property-inclusion=ALWAYS

然后來定義一個Controller和JAVA Bean

Controller:

package io.cj.learning.boot2exam.controller;

import io.cj.learning.boot2exam.model.DateFormatTest;
import org.springframework.web.bind.annotation.*;

import java.text.SimpleDateFormat;
import java.util.Date;

@RestController
@RequestMapping(value="/test")
public class TestController {


  /**
   * 測試時間序列化, java.util.date 類型 -> String
   * @return
   */
  @RequestMapping(value="/dateFormatTest", method = RequestMethod.GET)
  @ResponseBody
   public DateFormatTest dateFormatTest(){
    DateFormatTest dateFormatTest = new DateFormatTest();
    dateFormatTest.setIntProperties(100);
    dateFormatTest.setDateProperties(new Date());
    return dateFormatTest;
  }

  /**
   * 測試時間反序列化 String -> java.util.date 類型
   */
  @RequestMapping(value="/dateFormatTest2" ,method = RequestMethod.POST)
  public void dateFormatTest2(@RequestBody DateFormatTest model){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(model.getIntProperties());
    System.out.println(sdf.format(model.getDateProperties()));
    System.out.println(model.getStrProperties());
  }
}

Java Bean:

package io.cj.learning.boot2exam.model;

import java.util.Date;

/**
 * 一個model,里面帶一個日期類型
 */
public class DateFormatTest {

  private Integer intProperties;
  private Date dateProperties;
  private String strProperties;

  public Integer getIntProperties() {
    return intProperties;
  }

  public void setIntProperties(Integer intProperties) {
    this.intProperties = intProperties;
  }

  public Date getDateProperties() {
    return dateProperties;
  }

  public void setDateProperties(Date dateProperties) {
    this.dateProperties = dateProperties;
  }

  public String getStrProperties() {
    return strProperties;
  }

  public void setStrProperties(String strProperties) {
    this.strProperties = strProperties;
  }
}

啟動主類:

package io.cj.learning.boot2exam;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Boot2examApplication {

  public static void main(String[] args) {
    SpringApplication.run(Boot2examApplication.class, args);
  }
}

測試:

試一下,首先是日期序列化, 請求一下試試 

SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)

然后是反序列化,也請求一個試試:

SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)

SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前標(biāo)題:SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)
轉(zhuǎn)載來源:http://weahome.cn/article/posech.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部