這篇文章主要介紹了SpringBoot項目在IntelliJ IDEA中實現(xiàn)熱部署的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)專注于丹鳳網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供丹鳳營銷型網(wǎng)站建設(shè),丹鳳網(wǎng)站制作、丹鳳網(wǎng)頁設(shè)計、丹鳳網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造丹鳳網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供丹鳳網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。spring-boot-devtools是一個為開發(fā)者服務(wù)的一個模塊,其中最重要的功能就是自動應(yīng)用代碼更改到最新的App上面去。
原理是在發(fā)現(xiàn)代碼有更改之后,重新啟動應(yīng)用,但是速度比手動停止后再啟動更快。其深層原理是使用了兩個ClassLoader,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱為restart ClassLoader
,這樣在有代碼更改的時候,原來的restart ClassLoader被丟棄,重新創(chuàng)建一個restart ClassLoader,由于需要加載的類相比較少,所以實現(xiàn)了較快的重啟時間。即devtools會監(jiān)聽classpath下的文件變動,并且會立即重啟應(yīng)用(發(fā)生在保存時機)
一、開啟idea自動make功能
1、CTRL + SHIFT + A --> 查找make project automatically --> 選中
2、CTRL + SHIFT + A --> 查找Registry --> 找到并勾選compiler.automake.allow.when.app.running
最后重啟idea
二、使用spring-boot-1.3開始有的熱部署功能
1、加maven依賴
org.springframework.boot spring-boot-devtools true
2、開啟熱部署
org.springframework.boot spring-boot-maven-plugin true //該配置必須
三、Chrome禁用緩存
F12(或Ctrl+Shift+J或Ctrl+Shift+I)--> NetWork --> Disable Cache(while DevTools is open)
至此,在idea中就可以愉快的修改代碼了,修改后可以及時看到效果,無須手動重啟和清除瀏覽器緩存。
測試方法:
1.修改類-->保存:應(yīng)用會重啟
2.修改配置文件-->保存:應(yīng)用會重啟
3.修改頁面-->保存:應(yīng)用會重啟,頁面會刷新(原理是將spring.thymeleaf.cache設(shè)為false)
不能使用分析:
1.對應(yīng)的spring-boot版本是否正確,我這里使用的是1.5.3.RELEASE版本;
2.是否加入plugin了,以及屬性
3.Intellij IDEA是否開啟了Make Project Automatically。
4.如果設(shè)置SpringApplication.setRegisterShutdownHook(false),則自動重啟將不起作用。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“SpringBoot項目在IntelliJ IDEA中實現(xiàn)熱部署的方法”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!