欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot項目如何設(shè)置時區(qū)

 更新時間:2023年07月20日 15:01:35   作者:genghongsheng  
這篇文章主要介紹了springboot項目如何設(shè)置時區(qū)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot項目設(shè)置時區(qū)

在springboot啟動類里添加如下代碼:

? ? @PostConstruct
? ?void setDefaultTimezone() {
? ? ? TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
// ? ?TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
? ?}

用任何一個都行,將默認時區(qū)設(shè)置為東八區(qū)。

應(yīng)用場景

有時候應(yīng)用服務(wù)器的時間是UTC協(xié)調(diào)世界時間,在我們用瀏覽器訪問的時候,就會出現(xiàn)日期快八小時,

因為服務(wù)器的時區(qū)跟我們東八區(qū)差八個小時導(dǎo)致的,用以上方法可以解決這個問題。

springboot統(tǒng)一時區(qū)的方案

UTC時間是什么

  • 協(xié)調(diào)世界時,又稱世界統(tǒng)一時間、世界標準時間、國際協(xié)調(diào)時間。
  • 由于英文(CUT)和法文(TUC)的縮寫不同,作為妥協(xié),簡稱UTC。

UTC +時區(qū)差=本地時間

中國時間

  • 中國大陸、中國香港、中國澳門、中國臺灣、蒙古國、新加坡、
  • 馬來西亞、菲律賓、西澳大利亞州的時間與UTC的時差均為+8,也就是UTC+8。

1.系統(tǒng)采用多時區(qū)設(shè)計的時候,往往我們需要統(tǒng)一時區(qū),需要統(tǒng)一的地方如下:

  • 服務(wù)器(Tomcat服務(wù))
  • 數(shù)據(jù)庫(JPA + Hibernate)
  • 前端數(shù)據(jù)(前端采用Vuejs)        

思路為:

  • 將數(shù)據(jù)庫和服務(wù)器的時間都采用標準時區(qū)UTC存儲處理。
  • 前端拿到標準時區(qū)的數(shù)據(jù),統(tǒng)一根據(jù)用戶所在時區(qū)進行轉(zhuǎn)換。
  • 這樣保證了后端數(shù)據(jù)時區(qū)的一致性,前端根據(jù)實際情況進行渲染。

2.保證服務(wù)器時區(qū)為UTC 

服務(wù)啟動的時候,將當(dāng)前時區(qū)設(shè)置為UTC,代碼如下:

@SpringBootApplication
? ? public class Application {
? ? ? @PostConstruct
? ? ? void started() {
? ? ? ? TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

3.保證數(shù)據(jù)庫時區(qū)為UTC

Hibernate支持設(shè)置時區(qū),在Springboot中增加配置如下:        

spring.jpa.properties.hibernate.jdbc.time_zone = UTC

如果是MySQL數(shù)據(jù)庫,連接池鏈接后面增加配置如下:

?serverTimezone=TimeZone&useLegacyDatetimeCode=false

如:

spring.datasource.url=jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8&useLegacyDatetimeCode=false&serverTimezone=UTC

其中useLegacyDatetimeCode參數(shù)默認是true,我們需要手動設(shè)置為false,否則無效。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?多數(shù)據(jù)源方法級別注解實現(xiàn)過程

    Spring?多數(shù)據(jù)源方法級別注解實現(xiàn)過程

    多數(shù)據(jù)源管理是Spring框架中非常重要的一部分,它可以提高應(yīng)用程序的靈活性和可靠性,從而更好地滿足業(yè)務(wù)需求,這篇文章主要介紹了Spring?多數(shù)據(jù)源方法級別注解實現(xiàn),需要的朋友可以參考下
    2023-07-07
  • Java中JMM與volatile關(guān)鍵字的學(xué)習(xí)

    Java中JMM與volatile關(guān)鍵字的學(xué)習(xí)

    這篇文章主要介紹了通過實例解析JMM和Volatile關(guān)鍵字的學(xué)習(xí),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-09-09
  • SpringMVC框架中使用Filter實現(xiàn)請求日志打印方式

    SpringMVC框架中使用Filter實現(xiàn)請求日志打印方式

    這篇文章主要介紹了SpringMVC框架中使用Filter實現(xiàn)請求日志打印方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 深入理解Spring Cloud Zuul過濾器

    深入理解Spring Cloud Zuul過濾器

    這篇文章主要給大家介紹了關(guān)于Spring Cloud Zuul過濾器的相關(guān)資料,通過閱讀本文您將了解:Zuul過濾器類型與請求生命周期、如何編寫Zuul過濾器、如何禁用Zuul過濾器和Spring Cloud為Zuul編寫的過濾器及其功能,需要的朋友可以參考下。
    2017-02-02
  • JDBC使用Statement修改數(shù)據(jù)庫

    JDBC使用Statement修改數(shù)據(jù)庫

    這篇文章主要為大家詳細介紹了JDBC使用Statement修改數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • SpringBoot開發(fā)中使用DTO層的方法示例

    SpringBoot開發(fā)中使用DTO層的方法示例

    DTO層是在應(yīng)用程序的業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層之間引入的一個中間層,用于在不同層之間傳輸數(shù)據(jù),本文主要介紹了SpringBoot開發(fā)中使用DTO層,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Spring mvc工作原理_動力節(jié)點Java學(xué)院整理

    Spring mvc工作原理_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細介紹了Spring mvc工作原理的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SpringBoot使用攔截器Interceptor實現(xiàn)統(tǒng)一角色權(quán)限校驗

    SpringBoot使用攔截器Interceptor實現(xiàn)統(tǒng)一角色權(quán)限校驗

    角色權(quán)限校驗,是保證接口安全必備的能力:有權(quán)限才可以操作,所以,一般對于這種通用邏輯,推薦不與主業(yè)務(wù)邏輯耦合,那么怎么來解耦,那么本文小編就給大家詳細講解如何使用攔截器Interceptor實現(xiàn)統(tǒng)一角色權(quán)限校驗,需要的朋友可以參考下
    2023-07-07
  • maven倉庫訪問順序小結(jié)

    maven倉庫訪問順序小結(jié)

    在日常操作中,相信很多人在maven倉庫的優(yōu)先級順序是什么問題上存在疑惑,本文就來介紹一下maven倉庫訪問順序,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • SpringBoot結(jié)合JSR303對前端數(shù)據(jù)進行校驗的示例代碼

    SpringBoot結(jié)合JSR303對前端數(shù)據(jù)進行校驗的示例代碼

    這篇文章主要介紹了SpringBoot結(jié)合JSR303對前端數(shù)據(jù)進行校驗的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論