IDEA配置熱啟動(dòng)及與熱部署的區(qū)別
1.背景
開(kāi)發(fā)過(guò)程中,當(dāng)寫(xiě)完一個(gè)功能我們需要運(yùn)行應(yīng)用程序測(cè)試,可能這個(gè)小功能中存在多個(gè)小bug,我們需要改正后重啟服務(wù)器,這無(wú)形之中拖慢了開(kāi)發(fā)的速度增加了開(kāi)發(fā)時(shí)間,SpringBoot提供了spring-boot-devtools,使我們?cè)诟膽?yīng)用和配置文件的時(shí)候,自動(dòng)重啟應(yīng)用!
2.熱啟動(dòng)配置步驟
1)添加Spring Boot DevTools依賴:
2)配置IDE:在你的集成開(kāi)發(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)。這可以通過(guò)pom.xml在<dependencies>標(biāo)簽內(nèi)添加以下行來(lá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簡(jiǎn)介
- spring-boot-devtools是一個(gè)用于開(kāi)發(fā)Spring Boot應(yīng)用的開(kāi)發(fā)工具,它提供了很多有用的功能,幫助開(kāi)發(fā)人員提高開(kāi)發(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)嵌的開(kāi)發(fā)者工具頁(yè)面,可以用來(lái)查看應(yīng)用的詳細(xì)信息,如自動(dòng)配置報(bào)告、加載的bean等。
- 通過(guò)在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打開(kāi)設(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)然,我沒(méi)修改它的默認(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é)省開(kāi)發(fā)時(shí)間,啟動(dòng)應(yīng)用程序時(shí)避免完全重啟的能力。
熱部署是指在應(yīng)用程序正在運(yùn)行時(shí),可以進(jìn)行代碼、配置或資源的更改,而無(wú)需停止或重啟應(yīng)用程序。通過(guò)熱部署,開(kāi)發(fā)人員可以在不影響應(yīng)用程序的正常運(yùn)行的情況下,快速部署更新
熱啟動(dòng)主要關(guān)注的是應(yīng)用程序的整體重啟過(guò)程,而熱部署更側(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)文章
Java中讀寫(xiě)鎖ReadWriteLock的原理與應(yīng)用詳解
Java并發(fā)編程提供了讀寫(xiě)鎖,主要用于讀多寫(xiě)少的場(chǎng)景,今天我們就重點(diǎn)來(lái)講解讀寫(xiě)鎖ReadWriteLock的原理與應(yīng)用場(chǎng)景,感興趣的可以了解一下2022-09-09
解決SpringBoot項(xiàng)目中l(wèi)og4j與logback的Jar包沖突問(wèn)題
這篇文章主要給大家介紹了解決SpringBoot項(xiàng)目中l(wèi)og4j與logback的Jar包沖突問(wèn)題,文中有詳細(xì)的解決方法和沖突的原因,有遇到相同問(wèn)題的朋友可以參考閱讀本文2023-10-10
Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼
Apache POI 是用Java編寫(xiě)的免費(fèi)開(kāi)源的跨平臺(tái)的 Java API,Apache POI提供API給Java對(duì)Microsoft Office格式檔案讀和寫(xiě)的功能。本文給大家介紹Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼,需要的朋友參考下吧2021-06-06
java實(shí)現(xiàn)操作系統(tǒng)的短進(jìn)程作業(yè)調(diào)度示例分享
java編寫(xiě)的實(shí)現(xiàn)了操作系統(tǒng)中的短作業(yè)進(jìn)程,可以實(shí)現(xiàn)幾道作業(yè)同時(shí)作業(yè)調(diào)度2014-02-02
MybatisPlus中removeById刪除數(shù)據(jù)庫(kù)未變解決方案
MyBatisPlus中,removeById需實(shí)體類標(biāo)注@TableId注解以識(shí)別數(shù)據(jù)庫(kù)主鍵,若字段名不一致,應(yīng)通過(guò)value屬性指定表主鍵字段名,確保正確映射2025-08-08
基于Java反射技術(shù)實(shí)現(xiàn)簡(jiǎn)單IOC容器
這篇文章主要介紹了基于Java反射技術(shù)實(shí)現(xiàn)簡(jiǎn)單IOC容器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

