1.在pom.xml中添加熱部署依賴
<!-- 熱部署 -->
<!-- devtools可以實現頁面熱部署(即頁面修改后會立即生效, 這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現) -->
<!-- 實現類文件熱部署(類文件修改后不會立即生效),實現對屬性文件的熱部署。 -->
<!-- 即devtools會監聽classpath下的文件變動,並且會立即重啟應用(發生在保存時機), 注意:因為其采用的虛擬機機制,該項重啟是很快的 -->
<!-- (1)base classloader (Base類加載器):加載不改變的Class,例如:第三方提供的jar包。 -->
<!-- (2)restart classloader(Restart類加載器):加載正在開發的Class。 -->
<!-- 為什么重啟很快,因為重啟的時候只是加載了在開發的Class,沒有重新加載第三方的jar包。 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional=true, 依賴不會傳遞, 該項目依賴devtools; 之后依賴boot項目的項目如果想要使用devtools,
需要重新引入 -->
<optional>true</optional>
</dependency>
2.在application.yml中配置熱部署
#熱部署生效
spring.devtools.restart.enabled: true
#設置重啟的目錄,添加那個目錄的文件需要restart
spring.devtools.restart.additional-paths: src/main/java
spring.devtools.restart.exclude: WEB-INF/**
3.重新運行項目,隨便修改src/main/java文件下的東西,例如修改UserController.java
@Autowired
private UserService userService;
就會發現熱部署啟動了,截圖如下: