溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot開發(fā)環(huán)境熱部署怎么配置

發(fā)布時間:2020-06-22 16:45:05 來源:億速云 閱讀:211 作者:清晨 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關Spring Boot開發(fā)環(huán)境熱部署怎么配置,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在實際的項目開發(fā)過中,當我們修改了某個java類文件時,需要手動重新編譯、然后重新啟動程序的,整個過程比較麻煩,特別是項目啟動慢的時候,更是影響開發(fā)效率。其實Spring Boot的項目碰到這種情況,同樣也同樣需要經(jīng)歷重新編譯、重新啟動程序的過程。 只不過 Spring Boot 提供了一個spring-boot-devtools的模塊,使得 Spring Boot應用支持熱部署,無需手動重啟Spring Boot應用,,提高開發(fā)者的開發(fā)效率。接下來,聊一聊Spring Boot 開發(fā)環(huán)境熱部署。

一、原理

devtools使用了兩個類加載器(ClassLoader),一個是 Base類加載器(base classloader):加載那些不會改變的類,如:第三方Jar包等,而另一個是 Restart類加載器(restart classloader):負責加載那些正在開發(fā)的會改變的類。這樣在有代碼更改的時候,因為重啟的時候只是加載了在開發(fā)的Class類,沒有重新加載第三方的jar包,所以實現(xiàn)了較快的重啟時間。

devtools 監(jiān)聽classpath下的文件變動(發(fā)生在保存時機),并且會立即重啟應用。從而實現(xiàn)類文件和屬性文件的熱部署。

二、快速配置

1、pom配置

引入devtools的依賴

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <!-- optional=true, 依賴不會傳遞, 該項目依賴devtools;之后依賴boot項目的項目如果想要使用devtools, 需要重新引入 -->
  <optional>true</optional>
</dependency>

注意:optional=true, 依賴不會傳遞, 該項目依賴devtools;之后依賴boot項目的項目如果想要使用devtools, 需要重新引入。

2、application.properties配置

在application.properties中配置devtools。

# 關閉緩存即時刷新
#spring.thymeleaf.cache=false

#熱部署生效
spring.devtools.restart.enabled=true
#設置重啟的目錄
spring.devtools.restart.additional-paths=src/main/java
#classpath目錄下的WEB-INF文件夾內(nèi)容修改不重啟
spring.devtools.restart.exclude=WEB-INF/**

說明:

devtools可以實現(xiàn)頁面熱部署,即頁面修改后會立即生效,需要將application.properties文件中配置spring.thymeleaf.cache=false。

devtools會監(jiān)聽classpath下的文件變動,并且會立即重啟應用。

3、IDEA配置

如果idea是新安裝的或者之前就沒有配置過,發(fā)現(xiàn)改變代碼項目熱部署不成功。當我們修改了Java類后,IDEA默認是不自動編譯的,而spring-boot-devtools又是監(jiān)測classpath下的文件發(fā)生變化才會重啟應用。

所以需要設置IDEA的自動編譯:

(1)File-Settings-Compiler-Build Project automatically

Spring Boot開發(fā)環(huán)境熱部署怎么配置

(2)ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running

Spring Boot開發(fā)環(huán)境熱部署怎么配置

這樣,就可以使用devtools實現(xiàn)熱部署了。


關于Spring Boot開發(fā)環(huán)境熱部署怎么配置就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI