© 版權聲明:本文爲博主原創文章,轉載請註明出處html
devtools簡介 java
spring-boot-devtools會監聽classpath下的文件變更,而且會當即重啓應用(發生在保存時機),由於其採用的虛擬機機制,該項重啓時很快的spring
spring-boot-devtools主要有兩個類加載器:緩存
base classloader(Base類加載器),加載不改變的class,例如:第三方提供的jar包等app
restart classloader (Restart類加載器),加載正在開發的classmaven
由於重啓的時候只加載了正在開發的class,沒有從新加載第三方的jar包,因此重啓會很快ide
IDEA下配置熱部署spring-boot
1. File -->> Settings -->> Build,Execution,Deployment -->> Granle-Android Compiler --> 勾選 Make project automatically(only works while not running / debugging)測試
2. Ctrl + Shift + A,輸入Registry,選中第一個回車,勾選 compiler.automake.allow.when app.runningui
3. pom.xml中引入devtools的依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true,依賴不會傳遞,該項目依賴devtools;其餘依賴本項目的項目需從新引入devtools--> <optional>true</optional> </dependency>
4. pom.xml中添加spring-boot-maven-plugin插件,而且配置<fork>true</fork>(非必須)
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 本身測試,不配置也可實現熱部署 --> <fork>true</fork> </configuration> </plugin>
5. 配置application.yml文件(或application.properties)
spring:
thymeleaf:
cache: true # false:關閉緩存,即時刷新
devtools:
restart:
enabled: true # 啓用熱部署
additional-paths: src/main/java # 設置需重啓的目錄,目錄下的文件改變時會restart
6. Chrome可在開發者模式下(快捷鍵F12:需打開開發者模式纔可以使用該快捷鍵),禁用緩存(非必須)
7. 重啓項目,進行測試便可
參考: