Spring Boot Thymeleaf 静态资源热部署
学习spring boot过程中,当一个spring boot框架搭建好以后,我们可以开始写一些东西了,这时候你是否会想到创建一个jsp文件呢?然后突然发现原来你使用jsp的写法不管用了,这是因为spring boot中不建议使用jsp来开发web,推荐我们使用Thymeleaf来作为前台模板引擎来开发web。
开发工具
Intellij IDEA
thymeleaf禁用缓存
将thymeleaf的cache属性置为false,不使用thymeleaf的缓存功能。
spring:
thymeleaf:
cache: false
一开始我就配置了,但是修改页面之后,刷新浏览器,修改的内容没有生效。
最终解决办法
这个时候查看target目录下,你修改的html文件,发现刚刚修改的内容并没有编译到该文件中。刷新浏览器自然就没有生效。所以需要我们自己手动build一下。。。
方法1
1.首先,需要thymeleaf的缓存设置为false。
2.然后使用下面两条命令,均可以。
ctrl + shift + F9
:Recompile (这个一般是修改了java代码,如controller等文件,重新编译)
ctrl + F9
:Build Project (这个,当你修改了静态页面,如html页面,重新build)
如果只是修改了静态页面,建议使用ctrl + F9
。当然,这里我用的开发工具是IDEA,如果是Eclipse,快捷键应该不一样。
+++++++++++++++++++++++++++++++ 我是漂亮的分割线 ++++++++++++++++++++++++++++++++++++++++++
方法2
可能你觉得每次修改之后,按一下快捷键也很麻烦。那么就需要配置一下IDEA。开启IDEA的自动build功能。使用spring-boot-devtools进行热部署。
1.首先,还是需要把thymeleaf的缓存设置为false。
2.pom.xml加入,引入devtools:
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>2.0.4.RELEASE</version>
<!-- 启用 -->
<optional>true</optional>
</dependency>
3.修改IDEA的两处配置
①file —> setting —>Compiler,启用自动build
ps:这里有可能IDEA的版本不一样,没有这个选项,有可能是make project automatically
。
②IDEA中按下快捷键:ctrl + shift +alt + /
,调出如下面板
OK。这个时候,修改文件,再刷新一下浏览器。会发现刚刚改的东西生效了(java代码和静态页面得修改都会自动生效)。修改controller
里面的代码,不用重新编译,也自动生效了。