IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)
你是否遇到過(guò)這樣的困擾:
當(dāng)你寫(xiě)完一段代碼后,要看到效果,必須點(diǎn)擊IDEA的停止按鈕,然后再次重啟啟動(dòng)項(xiàng)目,你是否覺(jué)得這樣很煩呢?
如果你覺(jué)得很煩,本文就是用來(lái)解決你的問(wèn)題的。
俗話說(shuō):細(xì)節(jié)決定成敗,雖然這個(gè)看起來(lái)是一件很小的事情,但算起來(lái)他也影響了工作效率,解決了這個(gè)熱加載或者叫熱部署的問(wèn)題,你的工作效率不止提高10倍。
讓我們來(lái)算一筆賬,我們的項(xiàng)目啟動(dòng)時(shí)由于要加載一些中間件如:rabbitmq、Zebra、crane等,每次啟動(dòng)需要大概花費(fèi)2分鐘以上的時(shí)間,我們修改后臺(tái)類(lèi)代碼的時(shí)候就需要重啟服務(wù),每天大概就算重啟30次,一天至少花費(fèi)1個(gè)小時(shí)的時(shí)間,一個(gè)月就浪費(fèi)30個(gè)小時(shí),如果解決了這個(gè)問(wèn)題,那就是每天節(jié)省了1個(gè)小時(shí)的時(shí)間。
言歸正傳,說(shuō)下如何實(shí)現(xiàn)熱加載,分以下3個(gè)主要步驟實(shí)現(xiàn),第4個(gè)步驟如果是前后端分離沒(méi)有必要設(shè)置。
1、加Maven依賴(使用SpringBoot-1.3開(kāi)始有的熱部署功能)
1.1、修改Pom文件
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
2、開(kāi)啟熱部署
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è)置
打開(kāi) Settings --> Build-Execution-Deployment --> Compiler
,將 Build project automatically.
勾上。
點(diǎn)擊 Help --> Find Action..
,或使用快捷鍵 Ctrl+Shift+A
來(lái)打開(kāi) Registry...
,將 其中的compiler.automake.allow.when.app.running
勾上。
全部設(shè)置完畢,重啟一下IDEA。
現(xiàn)在你就不必每次都手動(dòng)的去點(diǎn)停止和啟動(dòng)了。
3.1、如果還是不行 ,請(qǐng)注意這幾個(gè)地方的設(shè)置
Compiler
,將 Build project automatically.
勾上。
另外點(diǎn)擊 Help --> Find Action..
,或使用快捷鍵 Ctrl+Shift+A
來(lái)打開(kāi) 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í)看到效果,無(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)重啟將不起作用。
到此這篇關(guān)于IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)IDEA Spring Boot熱加載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Java?List中五種常見(jiàn)實(shí)現(xiàn)類(lèi)的使用
Java中提供了非常多的使用的List實(shí)現(xiàn)類(lèi),本文將重點(diǎn)介紹一下常見(jiàn)的五種實(shí)現(xiàn)類(lèi)以及他們的應(yīng)用場(chǎng)景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10Java請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向區(qū)別詳解
這篇文章主要介紹了Java請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向區(qū)別詳解,請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向,但二者是完全不同的,所以我們今天就來(lái)盤(pán)他們的區(qū)別介紹,需要的朋友可以參考一下2022-07-07解決Spring boot2.0+配置攔截器攔截靜態(tài)資源的問(wèn)題
這篇文章主要介紹了解決Spring boot2.0+配置攔截器攔截靜態(tài)資源的問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08利用棧使用簡(jiǎn)易計(jì)算器(Java實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了Java利用棧實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09使用Maven打包時(shí)包含資源文件和源碼到j(luò)ar的方法
這篇文章主要介紹了使用Maven打包時(shí)包含資源文件和源碼到j(luò)ar的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08SpringMVC中參數(shù)綁定問(wèn)題實(shí)例詳解
springmvc是用來(lái)處理頁(yè)面的一些請(qǐng)求,然后將數(shù)據(jù)再通過(guò)視圖返回給用戶的,下面這篇文章主要給大家介紹了關(guān)于SpringMVC中參數(shù)綁定問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-04-04