问题:

项目使用 :spring boot + thymeleaf + vue.js

找了个简单的spring boot 模板,application中配置了简单的server的属性,页面放在resource中,

我发现我无论怎么修改页面 浏览器刷新的页面都是不动的,重启一下服务就好了。

但是静态页面貌似不需要刷新,没有显示出来我就怀疑跟这个thymeleaf有关 它可能需要编译导致没有及时刷出新的

效果出现。

方案:

在pom文件中引入热部署

 <!--Spring 官方提供的热部署插件  Start-->
	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

 <!--Spring 官方提供的热部署插件  End-->


原理:

Spring Boot 支持的一些库中会使用缓存来提高性能。例如模版引擎将缓存编译后的模板,以避免重复解析模板文件。 此外,Spring MVC可以在服务静态资源时向响应中添加HTTP缓存头。
虽然缓存在生产中非常有益,但它在开发过程中可能会产生反效果,它会阻止你看到刚刚在应用程序中进行的更改。 因此,spring-boot-devtools将默认禁用这些缓存选项。
缓存选项通常在application.properties文件中配置。 例如,Thymeleaf提供了spring.thymeleaf.cache属性。
spring-boot-devtools模块不需要手动设置这些属性,而是自动应用合理的开发时配置



Logo

前往低代码交流专区

更多推荐