IDEA配置熱啟動(dòng)及與熱部署的區(qū)別
1.背景
開發(fā)過程中,當(dāng)寫完一個(gè)功能我們需要運(yùn)行應(yīng)用程序測(cè)試,可能這個(gè)小功能中存在多個(gè)小bug,我們需要改正后重啟服務(wù)器,這無形之中拖慢了開發(fā)的速度增加了開發(fā)時(shí)間,SpringBoot提供了spring-boot-devtools,使我們?cè)诟膽?yīng)用和配置文件的時(shí)候,自動(dòng)重啟應(yīng)用!
2.熱啟動(dòng)配置步驟
1)添加Spring Boot DevTools依賴:
2)配置IDE:在你的集成開發(fā)環(huán)境(IDE)中,確保已啟用自動(dòng)構(gòu)建和熱交換(Hot Swap)功能。
3)啟動(dòng)應(yīng)用程序:運(yùn)行你的Spring Boot應(yīng)用程序的主類 啟動(dòng)應(yīng)用程序。
4)修改代碼:在代碼中進(jìn)行更改和增加功能測(cè)試。
查看變化:當(dāng)你進(jìn)行代碼更改后,保存文件并查看控制臺(tái)或?yàn)g覽器,你將看到應(yīng)用程序會(huì)自動(dòng)重新加載修改后的代碼,并且任何更改都會(huì)在運(yùn)行時(shí)生效。
2.1.工程中添加依賴
在項(xiàng)目的pom.xml文件中,添加Spring Boot DevTools依賴項(xiàng)。這可以通過pom.xml在<dependencies>
標(biāo)簽內(nèi)添加以下行來實(shí)現(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是一個(gè)用于開發(fā)Spring Boot應(yīng)用的開發(fā)工具,它提供了很多有用的功能,幫助開發(fā)人員提高開發(fā)效率和調(diào)試能力
- 使用spring-boot-devtools可以自動(dòng)監(jiān)視應(yīng)用的類文件和靜態(tài)資源的變化,并且在變化時(shí)自動(dòng)重新啟動(dòng)應(yīng)用,從而節(jié)省了重新編譯和手動(dòng)重啟的時(shí)間。
- spring-boot-devtools還提供了一個(gè)內(nèi)嵌的開發(fā)者工具頁面,可以用來查看應(yīng)用的詳細(xì)信息,如自動(dòng)配置報(bào)告、加載的bean等。
- 通過在application.properties文件中定義相應(yīng)的屬性,可以對(duì)spring-boot-devtools進(jìn)行配置,如關(guān)閉自動(dòng)重啟、指定資源變化觸發(fā)的延遲時(shí)間等
3.設(shè)置IDEA自動(dòng)編譯
1) 快捷鍵Ctrl+Alt+S打開設(shè)置,在(Build, Execotion, Deployment) -> Compiler-> 勾選Build Project automatically項(xiàng),重啟IDEA。
2) 同時(shí)按下快捷鍵Ctrl + Shift + Alt + /,會(huì)彈出下面的方框,選擇Registry
3) 勾選 compiler.automake.allow.when.app running和compiler.document.save.enabled(指定是否啟用保存項(xiàng)目響應(yīng)當(dāng)文檔被更改),并將它們的對(duì)應(yīng)的保存動(dòng)作延時(shí)時(shí)間適當(dāng)縮小,或者使用默認(rèn)值也可以。當(dāng)然,我沒修改它的默認(rèn)值的時(shí)候,發(fā)現(xiàn)項(xiàng)目修改的時(shí)候,它自動(dòng)重新熱啟動(dòng)的時(shí)間有點(diǎn)久(可縮小對(duì)應(yīng)時(shí)間或者參考本文下一段解決方法)。
4) 重啟應(yīng)用,當(dāng)改動(dòng)代碼時(shí),觀察控制臺(tái)輸出,你會(huì)發(fā)現(xiàn)Spring Boot已經(jīng)檢測(cè)到了文件變化,并重新啟動(dòng)。
4.熱啟動(dòng)與熱部署的區(qū)別
熱啟動(dòng)是指在已經(jīng)運(yùn)行的項(xiàng)目上,再次啟動(dòng)(代碼、配置文件修改),少加載了一些東西,從而啟動(dòng)的比快,節(jié)省開發(fā)時(shí)間,啟動(dòng)應(yīng)用程序時(shí)避免完全重啟的能力。
熱部署是指在應(yīng)用程序正在運(yùn)行時(shí),可以進(jìn)行代碼、配置或資源的更改,而無需停止或重啟應(yīng)用程序。通過熱部署,開發(fā)人員可以在不影響應(yīng)用程序的正常運(yùn)行的情況下,快速部署更新
熱啟動(dòng)主要關(guān)注的是應(yīng)用程序的整體重啟過程,而熱部署更側(cè)重于動(dòng)態(tài)更新和替換部分組件或功能。兩者都是為了減少系統(tǒng)停機(jī)時(shí)間和提高系統(tǒng)的可用性。
到此這篇關(guān)于IDEA配置熱啟動(dòng)及與熱部署的區(qū)別的文章就介紹到這了,更多相關(guān)IDEA配置熱啟動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot2基于重復(fù)創(chuàng)建bean的問題及解決
這篇文章主要介紹了SpringBoot2基于重復(fù)創(chuàng)建bean的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06詳解springboot+atomikos+druid?數(shù)據(jù)庫連接失效分析
本文主要介紹了springboot+atomikos+druid?數(shù)據(jù)庫連接失效分析,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02手?jǐn)]一個(gè) spring-boot-starter的全過程
這篇文章主要介紹了手?jǐn)]一個(gè) spring-boot-starter的全過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01詳細(xì)講解Java中==與equals的區(qū)別對(duì)比
這篇文章主要為大家詳細(xì)介紹了Java中==與equals的區(qū)別對(duì)比,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,感興趣的同學(xué)可以參考閱讀下2023-09-09