IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)
你是否遇到過這樣的困擾:
當(dāng)你寫完一段代碼后,要看到效果,必須點(diǎn)擊IDEA的停止按鈕,然后再次重啟啟動(dòng)項(xiàng)目,你是否覺得這樣很煩呢?
如果你覺得很煩,本文就是用來解決你的問題的。
俗話說:細(xì)節(jié)決定成敗,雖然這個(gè)看起來是一件很小的事情,但算起來他也影響了工作效率,解決了這個(gè)熱加載或者叫熱部署的問題,你的工作效率不止提高10倍。
讓我們來算一筆賬,我們的項(xiàng)目啟動(dòng)時(shí)由于要加載一些中間件如:rabbitmq、Zebra、crane等,每次啟動(dòng)需要大概花費(fèi)2分鐘以上的時(shí)間,我們修改后臺(tái)類代碼的時(shí)候就需要重啟服務(wù),每天大概就算重啟30次,一天至少花費(fèi)1個(gè)小時(shí)的時(shí)間,一個(gè)月就浪費(fèi)30個(gè)小時(shí),如果解決了這個(gè)問題,那就是每天節(jié)省了1個(gè)小時(shí)的時(shí)間。
言歸正傳,說下如何實(shí)現(xiàn)熱加載,分以下3個(gè)主要步驟實(shí)現(xiàn),第4個(gè)步驟如果是前后端分離沒有必要設(shè)置。
1、加Maven依賴(使用SpringBoot-1.3開始有的熱部署功能)
1.1、修改Pom文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>2、開啟熱部署
2.1、修改Pom文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>//該配置必須
</configuration>
</plugin>
</plugins>
</build>3、修改IDEA設(shè)置
打開 Settings --> Build-Execution-Deployment --> Compiler,將 Build project automatically.勾上。

點(diǎn)擊 Help --> Find Action..,或使用快捷鍵 Ctrl+Shift+A來打開 Registry...,將 其中的compiler.automake.allow.when.app.running勾上。

全部設(shè)置完畢,重啟一下IDEA。
現(xiàn)在你就不必每次都手動(dòng)的去點(diǎn)停止和啟動(dòng)了。
3.1、如果還是不行 ,請注意這幾個(gè)地方的設(shè)置

Compiler,將 Build project automatically.勾上。
另外點(diǎn)擊 Help --> Find Action..,或使用快捷鍵 Ctrl+Shift+A來打開 Registry (注意是不帶點(diǎn)的)
里面也有個(gè)Compiler,需要將 Build project automatically.勾上。
4、Chrome禁用緩存 【可選】
F12(或Ctrl+Shift+J或Ctrl+Shift+I)--> NetWork --> Disable Cache(while DevTools is open)

至此,在idea中就可以愉快的修改代碼了,修改后可以及時(shí)看到效果,無須手動(dòng)重啟和清除瀏覽器緩存。
測試方法:
1.修改類-->保存:應(yīng)用會(huì)重啟
2.修改配置文件-->保存:應(yīng)用會(huì)重啟
3.修改頁面-->保存:應(yīng)用會(huì)重啟,頁面會(huì)刷新(原理是將spring.thymeleaf.cache設(shè)為false)
不能使用分析:
1.對應(yīng)的spring-boot版本是否正確,我這里使用的是1.5.3.RELEASE版本;
2.是否加入plugin了,以及屬性<fork>true</fork>
3.Intellij IDEA是否開啟了Make Project Automatically。
4.如果設(shè)置SpringApplication.setRegisterShutdownHook(false),則自動(dòng)重啟將不起作用。
到此這篇關(guān)于IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)IDEA Spring Boot熱加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解servlet的url-pattern匹配規(guī)則
本篇文章主要介紹了=servlet的url-pattern匹配規(guī)則,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12
詳解Java利用ExecutorService實(shí)現(xiàn)同步執(zhí)行大量線程
這篇文章主要介紹了Java利用ExecutorService實(shí)現(xiàn)同步執(zhí)行大量線程,ExecutorService可以維護(hù)我們的大量線程在操作臨界資源時(shí)的穩(wěn)定性。2017-03-03
java 自己實(shí)現(xiàn)DataSource實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了java 自己實(shí)現(xiàn)DataSource實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
看動(dòng)畫學(xué)算法之Java實(shí)現(xiàn)doublyLinkedList
這篇文章主要介紹Java實(shí)現(xiàn)doublyLinkedList,LinkedList:doublyLinkedList相對比較復(fù)雜,今天就來簡單學(xué)習(xí)一下doublyLinkedList的基本操作和概,感興趣的小伙伴可以參考下面具體文章內(nèi)容2021-10-10
自帶IDEA插件的阿里開源診斷神器Arthas線上項(xiàng)目BUG調(diào)試
這篇文章主要為大家介紹了自帶IDEA插件阿里開源診斷神器Arthas線上項(xiàng)目BUG調(diào)試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

