sts熱部署,即是在項目中修改代碼不用重新啟動服務,提高效率。
方法如下:
1.在pom文件中引入 devtools 依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional=true, 依賴不會傳遞, 該項目依賴devtools; 之后依賴boot項目的項目如果想要使用devtools, 需要重新引入 -->
<optional>true</optional>
</dependency>
2.在application.properties 文件中碼上以下內容:
spring.thymeleaf.cache=true //緩存
spring.devtools.restart.enabled=true //開啟
spring.devtools.restart.additional-paths=src/main/java //監聽目錄
3.原理
<!-- devtools可以實現頁面熱部署(即頁面修改后會立即生效,
這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現) -->
<!-- 實現類文件熱部署(類文件修改后不會立即生效),實現對屬性文件的熱部署。 -->
<!-- 即devtools會監聽classpath下的文件變動,並且會立即重啟應用(發生在保存時機),
注意:因為其采用的虛擬機機制,該項重啟是很快的 -->
<!-- (1)base classloader (Base類加載器):加載不改變的Class,例如:第三方提供的jar包。 -->
<!-- (2)restart classloader(Restart類加載器):加載正在開發的Class。 -->
<!-- 為什么重啟很快,因為重啟的時候只是加載了在開發的Class,沒有重新加載第三方的jar包。 -->
本文資料來源幕課網教學視頻