Spring Boot Thymeleaf 热部署

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里面的代码,不用重新编译,也自动生效了。

猜你喜欢

转载自blog.csdn.net/qq_22638399/article/details/82383574
今日推荐