springboot+idea熱部署的實(shí)現(xiàn)方法(自動(dòng)刷新)
近來(lái)在使用idea做springboot的項(xiàng)目,但是發(fā)現(xiàn)每次修改之后我都需要重新將項(xiàng)目關(guān)閉再開(kāi)啟,這樣比較繁瑣,發(fā)現(xiàn)通過(guò)熱部署的方式讓我們可以一邊修改我們的項(xiàng)目,然后在頁(yè)面中直接通過(guò)刷新展示出來(lái)
spring為開(kāi)發(fā)者提供了一個(gè)名為spring-boot-devtools
的模塊來(lái)使Spring Boot應(yīng)用支持熱部署,提高開(kāi)發(fā)者的開(kāi)發(fā)效率,無(wú)需手動(dòng)重啟Spring Boot應(yīng)用。
devtools的原理
深層原理是使用了兩個(gè)ClassLoader,一個(gè)Classloader加載那些不會(huì)改變的類(第三方Jar包),另一個(gè)ClassLoader加載會(huì)更改的類,稱為restart ClassLoader,這樣在有代碼更改的時(shí)候,原來(lái)的restart ClassLoader
被丟棄,重新創(chuàng)建一個(gè)restart ClassLoader,由于需要加載的類相比較少,所以實(shí)現(xiàn)了較快的重啟時(shí)間。
這里我沒(méi)有把所有的方式都嘗試一遍,只是使用了devtools的方式
總的來(lái)說(shuō),一共需要兩個(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:如果沒(méi)有該項(xiàng)配置,整個(gè)devtools不會(huì)起作用--> <fork>true</fork> </configuration> </plugin>
第二步、設(shè)置IDEA的自動(dòng)編譯:(1)File-Settings-Compiler勾選 Build Project automatically
(2)快捷鍵 ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running
這樣我們的熱部署就完成了,可以再我們的項(xiàng)目中修改返回值,或者修改Mapping的value值后,在我們的頁(yè)面中刷新試試,我們的修改已經(jīng)生效了,不用通過(guò)再關(guān)閉再開(kāi)啟項(xiàng)目查看了。
借鑒文章:IntelliJ IDEA中SpringBoot項(xiàng)目通過(guò)devtools實(shí)現(xiàn)熱部署的方法
總結(jié)
到此這篇關(guān)于springboot+idea熱部署的實(shí)現(xiàn)方法(自動(dòng)刷新)的文章就介紹到這了,更多相關(guān)springboot+idea熱部署(自動(dòng)刷新)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringData Repository Bean方法定義規(guī)范代碼實(shí)例
這篇文章主要介紹了SpringData Repository Bean方法定義規(guī)范代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08探究MyBatis插件原理以及自定義插件實(shí)現(xiàn)
這篇文章主要介紹了探究MyBatis插件原理以及自定義插件實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07Java編程中使用XFire框架調(diào)用WebService程序接口
這篇文章主要介紹了Java編程中使用XFire調(diào)用WebService程序接口的方法,WebService是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù),需要的朋友可以參考下2015-12-12springboot實(shí)現(xiàn)單文件和多文件上傳
這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)單文件和多文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11java發(fā)送郵件及打開(kāi)狀態(tài)判斷分析實(shí)例
這篇文章主要為大家介紹了java發(fā)送郵件及打開(kāi)狀態(tài)判斷分析實(shí)例2023-12-12Java實(shí)現(xiàn)作業(yè)調(diào)度的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)SJF算法調(diào)度,要求測(cè)試數(shù)據(jù)可以隨即輸入或從文件中讀入,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-04-04springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南
這篇文章主要給大家介紹了關(guān)于springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南的相關(guān)資料,還介紹了關(guān)閉打印的方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03