springboot+idea熱部署的實(shí)現(xiàn)方法(自動刷新)
近來在使用idea做springboot的項(xiàng)目,但是發(fā)現(xiàn)每次修改之后我都需要重新將項(xiàng)目關(guān)閉再開啟,這樣比較繁瑣,發(fā)現(xiàn)通過熱部署的方式讓我們可以一邊修改我們的項(xiàng)目,然后在頁面中直接通過刷新展示出來
spring為開發(fā)者提供了一個(gè)名為spring-boot-devtools的模塊來使Spring Boot應(yīng)用支持熱部署,提高開發(fā)者的開發(fā)效率,無需手動重啟Spring Boot應(yīng)用。
devtools的原理
深層原理是使用了兩個(gè)ClassLoader,一個(gè)Classloader加載那些不會改變的類(第三方Jar包),另一個(gè)ClassLoader加載會更改的類,稱為restart ClassLoader,這樣在有代碼更改的時(shí)候,原來的restart ClassLoader 被丟棄,重新創(chuàng)建一個(gè)restart ClassLoader,由于需要加載的類相比較少,所以實(shí)現(xiàn)了較快的重啟時(shí)間。
這里我沒有把所有的方式都嘗試一遍,只是使用了devtools的方式
總的來說,一共需要兩個(gè)步驟:
第一步、先設(shè)置我們的pom.xml文件,加入依賴首先是把下面代碼在<dependencies>中
<!--添加熱部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency>
另外下面的代碼是放在<build> 下面<plugins>里的
<plugin>
<!--熱部署配置-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--fork:如果沒有該項(xiàng)配置,整個(gè)devtools不會起作用-->
<fork>true</fork>
</configuration>
</plugin>
第二步、設(shè)置IDEA的自動編譯:(1)File-Settings-Compiler勾選 Build Project automatically

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


這樣我們的熱部署就完成了,可以再我們的項(xiàng)目中修改返回值,或者修改Mapping的value值后,在我們的頁面中刷新試試,我們的修改已經(jīng)生效了,不用通過再關(guān)閉再開啟項(xiàng)目查看了。
借鑒文章:IntelliJ IDEA中SpringBoot項(xiàng)目通過devtools實(shí)現(xiàn)熱部署的方法
總結(jié)
到此這篇關(guān)于springboot+idea熱部署的實(shí)現(xiàn)方法(自動刷新)的文章就介紹到這了,更多相關(guān)springboot+idea熱部署(自動刷新)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot深入分析運(yùn)行原理與功能實(shí)現(xiàn)
我們發(fā)現(xiàn)springBoot程序開發(fā)比spring程序編寫起來容易的多。配置簡潔,依賴關(guān)系簡單,啟動運(yùn)行容易。那么結(jié)下了我們我們就要思考一下入門程序中的這些功能是怎么實(shí)現(xiàn)的2022-09-09
mybatis?foreach傳兩個(gè)參數(shù)批量刪除
這篇文章主要介紹了mybatis?foreach?批量刪除傳兩個(gè)參數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
SpringBoot actuator 健康檢查不通過的解決方案
這篇文章主要介紹了SpringBoot actuator 健康檢查不通過的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Java編程中二維數(shù)組的初始化和基本操作實(shí)例
這篇文章主要介紹了Java編程中二維數(shù)組的初始化和基本操作實(shí)例,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-10
如何使用mybatis-plus實(shí)現(xiàn)分頁查詢功能
最近在研究mybatis,然后就去找簡化mybatis開發(fā)的工具,發(fā)現(xiàn)就有通用Mapper和mybatis-plus兩個(gè)比較好的可是使用,可是經(jīng)過對比發(fā)現(xiàn)還是mybatis-plus比較好,下面這篇文章主要給大家介紹了關(guān)于如何使用mybatis-plus實(shí)現(xiàn)分頁查詢功能的相關(guān)資料,需要的朋友可以參考下2022-06-06
Java 棧和隊(duì)列的交互實(shí)現(xiàn)
棧和隊(duì)列都是常用的數(shù)據(jù)結(jié)構(gòu),本文就來介紹一下Java 棧和隊(duì)列的交互實(shí)現(xiàn),主要包括隊(duì)列模擬實(shí)現(xiàn)棧及棧模擬實(shí)現(xiàn)隊(duì)列,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12

