SpringBoot項(xiàng)目在IntelliJIDEA中實(shí)現(xiàn)熱部署的方法-創(chuàng)新互聯(lián)

這篇文章主要介紹了SpringBoot項(xiàng)目在IntelliJ IDEA中實(shí)現(xiàn)熱部署的方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)專(zhuān)注于丹鳳網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供丹鳳營(yíng)銷(xiāo)型網(wǎng)站建設(shè),丹鳳網(wǎng)站制作、丹鳳網(wǎng)頁(yè)設(shè)計(jì)、丹鳳網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造丹鳳網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供丹鳳網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

spring-boot-devtools是一個(gè)為開(kāi)發(fā)者服務(wù)的一個(gè)模塊,其中最重要的功能就是自動(dòng)應(yīng)用代碼更改到最新的App上面去。

原理是在發(fā)現(xiàn)代碼有更改之后,重新啟動(dòng)應(yīng)用,但是速度比手動(dòng)停止后再啟動(dòng)更快。其深層原理是使用了兩個(gè)ClassLoader,一個(gè)Classloader加載那些不會(huì)改變的類(lèi)(第三方Jar包),另一個(gè)ClassLoader加載會(huì)更改的類(lèi),稱(chēng)為restart ClassLoader
,這樣在有代碼更改的時(shí)候,原來(lái)的restart ClassLoader被丟棄,重新創(chuàng)建一個(gè)restart ClassLoader,由于需要加載的類(lèi)相比較少,所以實(shí)現(xiàn)了較快的重啟時(shí)間。即devtools會(huì)監(jiān)聽(tīng)classpath下的文件變動(dòng),并且會(huì)立即重啟應(yīng)用(發(fā)生在保存時(shí)機(jī))

一、開(kāi)啟idea自動(dòng)make功能

1、CTRL + SHIFT + A --> 查找make project automatically --> 選中

SpringBoot項(xiàng)目在IntelliJ IDEA中實(shí)現(xiàn)熱部署的方法

2、CTRL + SHIFT + A --> 查找Registry --> 找到并勾選compiler.automake.allow.when.app.running

SpringBoot項(xiàng)目在IntelliJ IDEA中實(shí)現(xiàn)熱部署的方法

最后重啟idea

二、使用spring-boot-1.3開(kāi)始有的熱部署功能

1、加maven依賴(lài)

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <optional>true</optional>
</dependency>

2、開(kāi)啟熱部署

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <fork>true</fork>//該配置必須
      </configuration>
    </plugin>
  </plugins>
</build>

三、Chrome禁用緩存

F12(或Ctrl+Shift+J或Ctrl+Shift+I)--> NetWork --> Disable Cache(while DevTools is open)

SpringBoot項(xiàng)目在IntelliJ IDEA中實(shí)現(xiàn)熱部署的方法

至此,在idea中就可以愉快的修改代碼了,修改后可以及時(shí)看到效果,無(wú)須手動(dòng)重啟和清除瀏覽器緩存。

測(cè)試方法:

1.修改類(lèi)-->保存:應(yīng)用會(huì)重啟
2.修改配置文件-->保存:應(yīng)用會(huì)重啟
3.修改頁(yè)面-->保存:應(yīng)用會(huì)重啟,頁(yè)面會(huì)刷新(原理是將spring.thymeleaf.cache設(shè)為false)

不能使用分析:

1.對(duì)應(yīng)的spring-boot版本是否正確,我這里使用的是1.5.3.RELEASE版本;
2.是否加入plugin了,以及屬性<fork>true</fork>
3.Intellij IDEA是否開(kāi)啟了Make Project Automatically。
4.如果設(shè)置SpringApplication.setRegisterShutdownHook(false),則自動(dòng)重啟將不起作用。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“SpringBoot項(xiàng)目在IntelliJ IDEA中實(shí)現(xiàn)熱部署的方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

名稱(chēng)欄目:SpringBoot項(xiàng)目在IntelliJIDEA中實(shí)現(xiàn)熱部署的方法-創(chuàng)新互聯(lián)
分享URL:http://muchs.cn/article44/dchgee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、用戶(hù)體驗(yàn)電子商務(wù)、定制開(kāi)發(fā)、面包屑導(dǎo)航、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司