IDEA中,SpringBoot配置devtools實現熱部署(親測成功)

一,前言
在講解熱部署之前,先來說說爲什麼會出現這個名詞
通常我們在進行軟件開發的時候,每次對程序的改動就需要重新啓動該程序,這樣會影響到整個的開發進度。
所以爲了解決這一難題,就出現了所謂的熱部署:可以讓我們的修改及時生效,從而不需要每次都手動重啓程序

二,devtools原理
使用devtools實現熱部署,主要是因爲其使用了兩個類加載,那麼爲什麼要使用兩個類加載呢?
問題很簡單,其實這裏就是爲了提高部署效率:
1,選擇我們想要進行加載的類,進行加載
通過spring.devtools.restart.additional-paths:src/main/java
意思是,在進行重新加載的時候,只重新加載該目錄下的類進行編譯
2,選擇我們需要進行加載的類,不進行加載
通過spring.devtools.restart.exclude:WEB-INF/**
還有一點,因爲該熱部署的重啓是指虛擬機的重啓,其速度也會相比平常的重啓快速

三,devtools的配置
該配置主要分爲兩大步:

  • pom和application文件配置

在pom文件中配置對應的依賴文件

<dependency>
   <groupId>org.spingframework.boot</groupId>
   <aritfactId>spring-boot-devtools</artifactId>
   <!--此處使用該optional的作用是,防止依賴傳遞,若某個項目xx引入了依賴A,A添加了optional=true,那麼當其他項目通過POM文件,依賴xx項目的時候,該依賴A不會被傳遞-->
   <optional>true</optional>
</dependency>

在配置文件application.properties中配置:

#清除緩存,及時刷新
sping.thymeleaf.cache:true
#開啓熱部署生效,允許其重啓
spring.devtools.restart.enabled:true
#設置需要熱部署的路徑
spring.devtools.restart.additional-paths:src/main/java
#設置不需要熱部署的路徑
spring.devtools.restart.exclude:WEB-INF/**

別以爲配置到了這裏結束了,別急,還有下面一個步驟,即可完成

  • IDEA配置

通常我們即使引入了devtools這個依賴,我們也不能實現熱部署,是因爲IDEA默認是不進行自動編譯的,而spring-tools-devtools是通過監聽classpath下的文件內容發生變化的時候纔會重啓應用,所以我們接下來要做的事情就是設置IDEA的自動編譯
File->Settings->Complier->Build Project automatically
在這裏插入圖片描述
即可。
除了這個還有一個快捷鍵方式Ctrl+Alt+Shift+/—>Registry,選擇Complier autoMake allow when app running即可

到這裏,我們的dectools熱部署就正式完成了,接下來我們只需要在IDEA中進行開發,點擊保存,就會觸發該熱部署進行加載文件

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