摘要:概述進(jìn)行的開發(fā)過程中,我們很多時(shí)候經(jīng)常需要重啟服務(wù)器才能保證修改的源代碼文件或者一些諸如的配置文件以及一些靜態(tài)文件生效,這樣耗時(shí)又低效。
概述
進(jìn)行SpringBoot的Web開發(fā)過程中,我們很多時(shí)候經(jīng)常需要重啟Web服務(wù)器才能保證修改的 源代碼文件、或者一些諸如xml的配置文件、以及一些靜態(tài)文件生效,這樣耗時(shí)又低效。所謂的熱部署指的是我們不需要重啟Web Server就可以保證各項(xiàng)文件修改的立即生效。下面便來介紹一下在IDEA中進(jìn)行SpringBoot的Web開發(fā)時(shí)如何加入熱部署的支持。
這里我們是使用 spring-boot-devtools 來幫助完成這個(gè)事情,其是一個(gè)為開發(fā)者服務(wù)的模塊,可以實(shí)現(xiàn)SpringBoot熱部署。其機(jī)理就是 spring-boot-devtools 會(huì)監(jiān)聽classpath下的文件變動(dòng),變動(dòng)保存生效,其就會(huì)立即重啟應(yīng)用。
注: 本文首發(fā)于 My 公眾號(hào) CodeSheep ,可 長(zhǎng)按 或 掃描 下面的 小心心 來訂閱 ↓ ↓ ↓pom.xml中添加依賴
設(shè)置IDEA環(huán)境自動(dòng)編譯org.springframework.boot spring-boot-devtools runtime
首先在編譯器選項(xiàng)中選中自動(dòng)編譯工程的選項(xiàng),如下圖所示,
接下來我們利用快捷鍵:Command + Shift + Alt + / 來調(diào)出Registry窗口,然后勾選其中的編譯器自動(dòng)編譯選項(xiàng),如下圖所示:
啟動(dòng)項(xiàng)目并實(shí)驗(yàn)上面幾個(gè)步驟設(shè)置完成以后,我們?nèi)ロ?xiàng)目的根目錄下執(zhí)行命令來啟動(dòng)SpringBoot應(yīng)用:
mvn clean spring-boot:run
此時(shí)的效果是只要我們修改了編輯區(qū)的源代碼,保存之后,應(yīng)用程序便會(huì)自動(dòng)重啟讓修改生效。
監(jiān)聽文件夾的變化上面我們是修改源代碼時(shí)的自動(dòng)熱啟動(dòng),除此之外,我們還可以設(shè)置 spring-boot-devtools 來監(jiān)聽某個(gè)文件夾的變化,比如我們想監(jiān)聽某個(gè)靜態(tài)文件夾下文件的變化(如html文件),當(dāng)其下面的文件改變的時(shí)候能夠重新啟動(dòng)SpringBoot,那么我們只要在配置文件 application.properties 中添加如下配置即可:
spring.devtools.restart.additional-paths = src/main/resources/templates
隨后再次實(shí)驗(yàn),取得的效果和之前一樣,熱啟動(dòng)便生效了
后記作者更多的原創(chuàng)文章在此,歡迎觀賞
My Personal Blog
作者更多的SpringBt實(shí)踐文章在此:
Spring Boot應(yīng)用監(jiān)控實(shí)戰(zhàn)
SpringBoot應(yīng)用部署于外置Tomcat容器
ElasticSearch搜索引擎在SpringBt中的實(shí)踐
初探Kotlin+SpringBoot聯(lián)合編程
Spring Boot日志框架實(shí)踐
SpringBoot優(yōu)雅編碼之:Lombok加持
如果有興趣,也可以抽點(diǎn)時(shí)間看看作者一些關(guān)于容器化、微服務(wù)化方面的文章:
利用K8S技術(shù)棧打造個(gè)人私有云 連載文章
從一份配置清單詳解Nginx服務(wù)器配置
Docker容器可視化監(jiān)控中心搭建
利用ELK搭建Docker容器化應(yīng)用日志中心
RPC框架實(shí)踐之:Apache Thrift
RPC框架實(shí)踐之:Google gRPC
微服務(wù)調(diào)用鏈追蹤中心搭建
Docker容器跨主機(jī)通信
Docker Swarm集群初探
高效編寫Dockerfile的幾條準(zhǔn)則
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/71337.html
摘要:熱加載代表的是我們不需要重啟服務(wù)器,就能夠類檢測(cè)得到,重新生成類的字節(jié)碼文件無論是熱部署或者是熱加載都是基于類加載器來完成的。驗(yàn)證階段字節(jié)碼文件不會(huì)對(duì)造成危害準(zhǔn)備階段是會(huì)賦初始值,并不是程序中的值。 一、SpringBoot入門 今天在慕課網(wǎng)中看見了Spring Boot這么一個(gè)教程,這個(gè)Spring Boot作為JavaWeb的學(xué)習(xí)者肯定至少會(huì)聽過,但我是不知道他是什么玩意。 只是大...
摘要:但考慮到實(shí)際的情形中,我們的服務(wù)器一般是另外部署好了的,有專門的維護(hù)方式。此時(shí)我們需要?jiǎng)冸x掉應(yīng)用內(nèi)置的服務(wù)器,進(jìn)而將應(yīng)用發(fā)布并部署到外置的容器之中,本文就實(shí)踐一下這個(gè)。 showImg(https://segmentfault.com/img/remote/1460000015173574); 0x01. 概述 SpringBoot平時(shí)我們用的爽歪歪,爽到它自己連Tomcat都自集成...
摘要:修改文件增加的依賴引入熱部署依賴注意只有設(shè)置為時(shí)才會(huì)熱啟動(dòng),即當(dāng)修改了等這些靜態(tài)資源后不用重啟項(xiàng)目直接刷新即可。 我們?cè)陂_發(fā)SpringBoot項(xiàng)目的時(shí)候,有些時(shí)候修改了一些Controller或者Service等組件,那么每次修改都需要去重啟服務(wù),這樣的話嚴(yán)重的導(dǎo)致我們的開發(fā)效率降低,那么SpringBoot為我們提供了該問題的解決方案,那就是進(jìn)行熱部署,我們熱部署使用到的組件是de...
摘要:文件注熱部署功能開始有的添加依賴依賴不會(huì)傳遞,該項(xiàng)目依賴之后依賴項(xiàng)目的項(xiàng)目如果想要使用,需要重新引入注中添加主要在中使用,中不需要添加此配置。禁用緩存或者,打開開發(fā)者工具,選項(xiàng)卡下選中打勾重啟項(xiàng)目修改代碼并重新請(qǐng)求項(xiàng)目稍等片刻 1 pom.xml文件 注:熱部署功能spring-boot-1.3開始有的 org.springframework.boot spring...
閱讀 1087·2021-10-08 10:04
閱讀 3525·2021-08-05 10:01
閱讀 2283·2019-08-30 11:04
閱讀 1802·2019-08-29 15:29
閱讀 848·2019-08-29 15:12
閱讀 1674·2019-08-26 12:11
閱讀 3121·2019-08-26 11:33
閱讀 1167·2019-08-26 10:23