IDEA下使用Spring Boot熱加載的實現(xiàn)
你是否遇到過這樣的困擾:
當(dāng)你寫完一段代碼后,要看到效果,必須點擊IDEA的停止按鈕,然后再次重啟啟動項目,你是否覺得這樣很煩呢?
如果你覺得很煩,本文就是用來解決你的問題的。
俗話說:細(xì)節(jié)決定成敗,雖然這個看起來是一件很小的事情,但算起來他也影響了工作效率,解決了這個熱加載或者叫熱部署的問題,你的工作效率不止提高10倍。
讓我們來算一筆賬,我們的項目啟動時由于要加載一些中間件如:rabbitmq、Zebra、crane等,每次啟動需要大概花費2分鐘以上的時間,我們修改后臺類代碼的時候就需要重啟服務(wù),每天大概就算重啟30次,一天至少花費1個小時的時間,一個月就浪費30個小時,如果解決了這個問題,那就是每天節(jié)省了1個小時的時間。
言歸正傳,說下如何實現(xiàn)熱加載,分以下3個主要步驟實現(xiàn),第4個步驟如果是前后端分離沒有必要設(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.
勾上。
點擊 Help --> Find Action..
,或使用快捷鍵 Ctrl+Shift+A
來打開 Registry...
,將 其中的compiler.automake.allow.when.app.running
勾上。
全部設(shè)置完畢,重啟一下IDEA。
現(xiàn)在你就不必每次都手動的去點停止和啟動了。
3.1、如果還是不行 ,請注意這幾個地方的設(shè)置
Compiler
,將 Build project automatically.
勾上。
另外點擊 Help --> Find Action..
,或使用快捷鍵 Ctrl+Shift+A
來打開 Registry (注意是不帶點的)
里面也有個Compiler,需要將 Build project automatically.
勾上。
4、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了,以及屬性<fork>true</fork>
3.Intellij IDEA是否開啟了Make Project Automatically。
4.如果設(shè)置SpringApplication.setRegisterShutdownHook(false),則自動重啟將不起作用。
到此這篇關(guān)于IDEA下使用Spring Boot熱加載的實現(xiàn)的文章就介紹到這了,更多相關(guān)IDEA Spring Boot熱加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java請求轉(zhuǎn)發(fā)和請求重定向區(qū)別詳解
這篇文章主要介紹了Java請求轉(zhuǎn)發(fā)和請求重定向區(qū)別詳解,請求轉(zhuǎn)發(fā)和請求重定向,但二者是完全不同的,所以我們今天就來盤他們的區(qū)別介紹,需要的朋友可以參考一下2022-07-07解決Spring boot2.0+配置攔截器攔截靜態(tài)資源的問題
這篇文章主要介紹了解決Spring boot2.0+配置攔截器攔截靜態(tài)資源的問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08使用Maven打包時包含資源文件和源碼到j(luò)ar的方法
這篇文章主要介紹了使用Maven打包時包含資源文件和源碼到j(luò)ar的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08