近来在使用idea做springboot的项目,但是发现每次修改之后我都需要重新将项目关闭再开启,这样比较繁琐,发现通过热部署的方式让我们可以一边修改我们的项目,然后在页面中直接通过刷新展示出来
下面介绍一下使用spring.thymeleaf.cache和devtools来解决html热启动的问题。提高开发者的开发效率,无需手动重启Spring Boot应用。
spring.thymeleaf.cache=false
方式
1:在application.properties文件中配置 :spring.thymeleaf.cache=false
上诉表示先清楚thymeleay的缓存
2:重新启动一下主程序 然后修改html,js,css
等相关文件无需重启,按 Ctrl+f9 手动加载一下资源后直接刷新页面就可以看到可以修改,这样我们的热部署就算成功了
- 使用devtools方式
增加maven的devtools依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
增加maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
注意:<optional>true</optional>
只有设置为true时才会热启动,即当修改了html、css、js
等这些静态资源后不用重启项目,按 Ctrl+f9 手动加载一下资源后直接刷新即可。
如果需要在修改java文件后都能自动更新,则需要做一点小改动:
将:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
修改为:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
配置了<fork>true</fork>
后在修改java文件后也就支持了热启动,不过这种方式是属于项目重启(速度比较快的项目重启),会清空session
中的值,也就是如果有用户登陆的话,项目重启后需要重新登陆。