亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在SpringBoot中配置日期格式化的方法詳解

 更新時(shí)間:2023年10月20日 08:56:03   作者:深碼青年  
通常情況下,發(fā)起一個(gè) Http 請(qǐng)求,Spring Boot 會(huì)根據(jù)請(qǐng)求路徑映射到指定 Controller 上的某個(gè)方法的參數(shù)上,接著,Spring 會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,對(duì)于日期類型的參數(shù),Spring 默認(rèn)是沒(méi)有配置如何將字符串轉(zhuǎn)換成日期類型的,本文將給大家介紹在SpringBoot中配置日期格式化的方法

我們先了解下,為什么需要配置日期格式化?

通常情況下,發(fā)起一個(gè) Http 請(qǐng)求,Spring Boot 會(huì)根據(jù)請(qǐng)求路徑映射到指定 Controller 上的某個(gè)方法的參數(shù)上,接著,Spring 會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換。

對(duì)于日期類型的參數(shù),Spring 默認(rèn)是沒(méi)有配置如何將字符串轉(zhuǎn)換成日期類型的

未配置日期格式化會(huì)如何?

我們新建一個(gè) Web 項(xiàng)目,并定義一個(gè)接口:

package site.exception.springbootdateformat.controller;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import site.exception.springbootdateformat.entity.User;

/**
 * @time 21:03
 * @discription
 **/
@RestController
public class UserController {

    /**
     * 定義一個(gè)創(chuàng)建用戶的接口
     * @param user
     * @return
     */
    @PostMapping("/user")
    public String createUser(User user) {
        // 打印創(chuàng)建時(shí)間
        System.out.println(user.getCreateTime().toString());
        return "Create user success !";
    }
}

User.java:

package site.exception.springbootdateformat.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * @time 21:00
 * @discription
 **/
public class User implements Serializable {
    /**
     * 用戶名
     */
    private String username;
    /**
     * 密碼
     */
    private String password;
    /**
     * 創(chuàng)建時(shí)間
     */
    private Date createTime;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

用 Postman 工具發(fā)起對(duì)該接口的表單請(qǐng)求,看看結(jié)果:

服務(wù)報(bào)錯(cuò),無(wú)法將字符串類型轉(zhuǎn)換成 java.util.Date 類型。

配置日期格式化

要讓 Spring Boot 能夠按照指定的格式進(jìn)行日期類型轉(zhuǎn)換,需要做以下步驟:

  • 定義一個(gè) MvcConfig 類,讓其實(shí)現(xiàn) WebMvcConfigurer 接口;
  • 重寫(xiě) addFormatters 方法;
  • 添加一個(gè) DateFormatter;
package site.exception.springbootdateformat.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.format.datetime.DateFormatter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


/**
 * @author www.exception.site (exception 教程網(wǎng))
 * @date 2019/2/16
 * @time 20:55
 * @discription
 **/
@Configuration
public class MvcConfig implements WebMvcConfigurer {

    /**
     * 配置日期格式化
     * @param registry
     */
    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addFormatter(new DateFormatter("yyyy-MM-dd HH:mm:ss"));
    }
}

接下來(lái),再次以表單的形式訪問(wèn) /user 接口,看看效果:

正確輸出 Create user Success !  接口,并且控制臺(tái),也打印了 createTime 值,說(shuō)明 Spring Boot 已經(jīng)自動(dòng)幫我們做了轉(zhuǎn)換操作:

至此,如何在 Spring Boot 中配置全局的日期格式化就完成了!

注意:本節(jié)中的轉(zhuǎn)換僅支持表單形式請(qǐng)求,不支持 application/json 的請(qǐng)求方式!

以上就是在SpringBoot中配置日期格式化的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot日期格式化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java?mybatis如何操作postgresql?array數(shù)組類型

    java?mybatis如何操作postgresql?array數(shù)組類型

    這篇文章主要介紹了java?mybatis如何操作postgresql?array數(shù)組類型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • selenium高效應(yīng)對(duì)Web頁(yè)面元素刷新的實(shí)例講解

    selenium高效應(yīng)對(duì)Web頁(yè)面元素刷新的實(shí)例講解

    今天小編就為大家分享一篇selenium高效應(yīng)對(duì)Web頁(yè)面元素刷新的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Java單例模式分析

    Java單例模式分析

    這篇文章主要給大家介紹了關(guān)于Java單例模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • Spring在多線程下@Resource注入為null的問(wèn)題

    Spring在多線程下@Resource注入為null的問(wèn)題

    這篇文章主要介紹了Spring在多線程下@Resource注入為null的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java獲取昨天日期字符串的方法

    java獲取昨天日期字符串的方法

    這篇文章主要介紹了java獲取昨天日期字符串的方法,涉及java針對(duì)日期與時(shí)間的運(yùn)算與轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2016-08-08
  • Java Set集合及其子類HashSet與LinkedHashSet詳解

    Java Set集合及其子類HashSet與LinkedHashSet詳解

    這篇文章主要介紹了Java Set集合及其子類HashSet與LinkedHashSet詳解,文章通過(guò)Set集合存儲(chǔ)原理展開(kāi)文章主題相關(guān)介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • Java并發(fā)之BlockingQueue的使用

    Java并發(fā)之BlockingQueue的使用

    這篇文章主要介紹了Java并發(fā)之BlockingQueue的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • selenium-java實(shí)現(xiàn)自動(dòng)登錄跳轉(zhuǎn)頁(yè)面方式

    selenium-java實(shí)現(xiàn)自動(dòng)登錄跳轉(zhuǎn)頁(yè)面方式

    利用Selenium和Java語(yǔ)言可以編寫(xiě)一個(gè)腳本自動(dòng)刷新網(wǎng)頁(yè),首先,需要確保Google瀏覽器和Chrome-Driver驅(qū)動(dòng)的版本一致,通過(guò)指定網(wǎng)站下載對(duì)應(yīng)版本的瀏覽器和驅(qū)動(dòng),在Maven項(xiàng)目中添加依賴,編寫(xiě)腳本實(shí)現(xiàn)網(wǎng)頁(yè)的自動(dòng)刷新,此方法適用于需要頻繁刷新網(wǎng)頁(yè)的場(chǎng)景,簡(jiǎn)化了操作,提高了效率
    2024-11-11
  • Android Home鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼

    Android Home鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Android Home 鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Nacos配置文件使用經(jīng)驗(yàn)及CAP原則詳解

    Nacos配置文件使用經(jīng)驗(yàn)及CAP原則詳解

    這篇文章主要為大家介紹了Nacos配置文件使用經(jīng)驗(yàn)及CAP規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-02-02

最新評(píng)論