IDEA配置熱啟動及與熱部署的區(qū)別
1.背景
開發(fā)過程中,當(dāng)寫完一個功能我們需要運行應(yīng)用程序測試,可能這個小功能中存在多個小bug,我們需要改正后重啟服務(wù)器,這無形之中拖慢了開發(fā)的速度增加了開發(fā)時間,SpringBoot提供了spring-boot-devtools,使我們在更改應(yīng)用和配置文件的時候,自動重啟應(yīng)用!
2.熱啟動配置步驟
1)添加Spring Boot DevTools依賴:
2)配置IDE:在你的集成開發(fā)環(huán)境(IDE)中,確保已啟用自動構(gòu)建和熱交換(Hot Swap)功能。
3)啟動應(yīng)用程序:運行你的Spring Boot應(yīng)用程序的主類 啟動應(yīng)用程序。
4)修改代碼:在代碼中進(jìn)行更改和增加功能測試。
查看變化:當(dāng)你進(jìn)行代碼更改后,保存文件并查看控制臺或瀏覽器,你將看到應(yīng)用程序會自動重新加載修改后的代碼,并且任何更改都會在運行時生效。
2.1.工程中添加依賴
在項目的pom.xml文件中,添加Spring Boot DevTools依賴項。這可以通過pom.xml在<dependencies>標(biāo)簽內(nèi)添加以下行來實現(xiàn):
<dependency> ? ?<groupId>org.springframework.boot</groupId> ? ?<artifactId>spring-boot-devtools</artifactId> ? ?<scope>runtime</scope> ? ?<optional>true</optional> </dependency>
2.2.spring-boot-devtools簡介
- spring-boot-devtools是一個用于開發(fā)Spring Boot應(yīng)用的開發(fā)工具,它提供了很多有用的功能,幫助開發(fā)人員提高開發(fā)效率和調(diào)試能力
- 使用spring-boot-devtools可以自動監(jiān)視應(yīng)用的類文件和靜態(tài)資源的變化,并且在變化時自動重新啟動應(yīng)用,從而節(jié)省了重新編譯和手動重啟的時間。
- spring-boot-devtools還提供了一個內(nèi)嵌的開發(fā)者工具頁面,可以用來查看應(yīng)用的詳細(xì)信息,如自動配置報告、加載的bean等。
- 通過在application.properties文件中定義相應(yīng)的屬性,可以對spring-boot-devtools進(jìn)行配置,如關(guān)閉自動重啟、指定資源變化觸發(fā)的延遲時間等
3.設(shè)置IDEA自動編譯
1) 快捷鍵Ctrl+Alt+S打開設(shè)置,在(Build, Execotion, Deployment) -> Compiler-> 勾選Build Project automatically項,重啟IDEA。
2) 同時按下快捷鍵Ctrl + Shift + Alt + /,會彈出下面的方框,選擇Registry
3) 勾選 compiler.automake.allow.when.app running和compiler.document.save.enabled(指定是否啟用保存項目響應(yīng)當(dāng)文檔被更改),并將它們的對應(yīng)的保存動作延時時間適當(dāng)縮小,或者使用默認(rèn)值也可以。當(dāng)然,我沒修改它的默認(rèn)值的時候,發(fā)現(xiàn)項目修改的時候,它自動重新熱啟動的時間有點久(可縮小對應(yīng)時間或者參考本文下一段解決方法)。
4) 重啟應(yīng)用,當(dāng)改動代碼時,觀察控制臺輸出,你會發(fā)現(xiàn)Spring Boot已經(jīng)檢測到了文件變化,并重新啟動。
4.熱啟動與熱部署的區(qū)別
熱啟動是指在已經(jīng)運行的項目上,再次啟動(代碼、配置文件修改),少加載了一些東西,從而啟動的比快,節(jié)省開發(fā)時間,啟動應(yīng)用程序時避免完全重啟的能力。
熱部署是指在應(yīng)用程序正在運行時,可以進(jìn)行代碼、配置或資源的更改,而無需停止或重啟應(yīng)用程序。通過熱部署,開發(fā)人員可以在不影響應(yīng)用程序的正常運行的情況下,快速部署更新
熱啟動主要關(guān)注的是應(yīng)用程序的整體重啟過程,而熱部署更側(cè)重于動態(tài)更新和替換部分組件或功能。兩者都是為了減少系統(tǒng)停機(jī)時間和提高系統(tǒng)的可用性。
到此這篇關(guān)于IDEA配置熱啟動及與熱部署的區(qū)別的文章就介紹到這了,更多相關(guān)IDEA配置熱啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中讀寫鎖ReadWriteLock的原理與應(yīng)用詳解
Java并發(fā)編程提供了讀寫鎖,主要用于讀多寫少的場景,今天我們就重點來講解讀寫鎖ReadWriteLock的原理與應(yīng)用場景,感興趣的可以了解一下2022-09-09
解決SpringBoot項目中l(wèi)og4j與logback的Jar包沖突問題
這篇文章主要給大家介紹了解決SpringBoot項目中l(wèi)og4j與logback的Jar包沖突問題,文中有詳細(xì)的解決方法和沖突的原因,有遇到相同問題的朋友可以參考閱讀本文2023-10-10
Java使用poi導(dǎo)出ppt文件的實現(xiàn)代碼
Apache POI 是用Java編寫的免費開源的跨平臺的 Java API,Apache POI提供API給Java對Microsoft Office格式檔案讀和寫的功能。本文給大家介紹Java使用poi導(dǎo)出ppt文件的實現(xiàn)代碼,需要的朋友參考下吧2021-06-06
java實現(xiàn)操作系統(tǒng)的短進(jìn)程作業(yè)調(diào)度示例分享
java編寫的實現(xiàn)了操作系統(tǒng)中的短作業(yè)進(jìn)程,可以實現(xiàn)幾道作業(yè)同時作業(yè)調(diào)度2014-02-02
MybatisPlus中removeById刪除數(shù)據(jù)庫未變解決方案
MyBatisPlus中,removeById需實體類標(biāo)注@TableId注解以識別數(shù)據(jù)庫主鍵,若字段名不一致,應(yīng)通過value屬性指定表主鍵字段名,確保正確映射2025-08-08
基于Java反射技術(shù)實現(xiàn)簡單IOC容器
這篇文章主要介紹了基于Java反射技術(shù)實現(xiàn)簡單IOC容器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07

