玩轉 Springboot 2 之熱部署(DevTools)

Devtools 介紹

SpringBoot 提供了熱部署的功能,那啥是熱部署累?SpringBoot官方是這樣說的:只要類路徑上的文件發生更改,就會自動重新啓動應用程序。在IDE中工作時,這可能是一個有用的功能,因爲它爲代碼更改提供了非常快速的反饋循環。默認情況下,將監視類路徑上指向文件夾的任何條目的更改。請注意,某些資源(如靜態資產和視圖模板)無需重新啓動應用程序。

觸發重啓
由於DevTools監視類路徑資源,因此觸發重新啓動的唯一方法是更新類路徑。導致更新類路徑的方式取決於您使用的IDE。在Eclipse中,保存修改後的文件會導致更新類路徑並觸發重新啓動。在IntelliJ
IDEA中,構建項目(Build -> Build Project)具有相同的效果。

同時DevTools 還提供了運行遠程應用程序功能,其實就是修改本地代碼,就能夠實時的更新到遠程應用中,這樣就可以實現本地代碼和遠程服務器代碼聯合調試。

使用 DevTools 進行熱部署操作

Eclipse 使用SpringBoot DevTools

第一步是引入 spring-boot-devtools 依賴,具體代碼如下:

<dependencies> 
    <dependency> 
        <groupId>org.springframework.boot </groupId> 
        <artifactId> spring-boot-devtools </artifactId> 
        <optional>true</optional> 
    </dependency> 
</dependencies>

然後就完事啦。我們就可以使用了,修改類和頁面啥的就不用在重啓項目了啊哈。

IntellJ IDEA 使用SpringBoot DevTools

第一步是引入 spring-boot-devtools 依賴,具體代碼如下:

<dependencies> 
    <dependency> 
        <groupId>org.springframework.boot </groupId> 
        <artifactId> spring-boot-devtools </artifactId> 
        <optional>true</optional> 
    </dependency> 
</dependencies>

你可能覺得已經完事了,但是我可以肯定的告訴你 NO NO NO,還需要做一點小小的配置。

第二步 啓動自動編譯功能。具體操作如下:

File -> Settings -> Build,Execution,Deplyment -> Compiler,選中打勾 Build project automatically。具體操作如下圖:
在這裏插入圖片描述
在這裏插入圖片描述
第三步設置程序運行過程中,依然允許自動編譯。具體操作如下:

使用快捷鍵 Shift+Ctrl+Alt+/ ,點擊 Registry 選項 ,選中compiler.automake.allow.when.app.running 具體操作如下圖:
在這裏插入圖片描述
在這裏插入圖片描述
進行完如上操作後就可以放心的在 IntellJ IDEA 上進行 SpringBoot 項目的開發了,在也不用擔心重啓的問題啦。

DevTools 常用配置介紹

正常來講在使用 DevTools 的過程中是不需要進行配置的,如果你需要自定義重啓目錄和不需要重啓的目錄等信息的話,SpringBoot 也爲我們提供了具體的配置項在 application.properties 中。

常用配置如下:

spring.devtools.restart.log-condition-evaluation-delta=false #禁用日誌報告
spring.devtools.restart.exclude=static/,public/ #不需要修改觸發重啓的文件目錄
spring.devtools.restart.additional-exclude #默認配置下還需要在新增的排除目錄
spring.devtools.restart.additional-paths=#添加需要監視需改文件後重啓的路徑
spring.devtools.restart.enabled=true #是否禁用重啓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章