Spring Boot –如何跳过缓存thyemeleaf模板,js,css等以每次绕过重启服务器

Spring Boot自动配置为ThyemeLeaf注册的默认模板解析器是基于类路径的,这意味着它从编译的资源/ target / classes / **加载模板和其他静态资源。

缓存胸腺模板

要加载对资源(HTML,js,CSS等)的更改,我们可以

  • 每次都重新启动应用程序-这当然不是一个好主意!
  • 使用IntelliJ上的CTRL + F9或(如果您使用的是eclipse键映射,则使用CTRL + SHIFT + F9)或只是右键单击并单击编译来重新编译资源。
  • 或如下所述的更好的解决方案!

Thymeleaf包括一个基于文件系统的解析器,它直接从文件系统中加载模板,而无需通过类路径(已编译资源)。

请参见DefaultTemplateResolverConfiguration#defaultTemplateResolver中的代码段

 @Bean  public SpringResourceTemplateResolver defaultTemplateResolver() { SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver(); resolver.setApplicationContext( this .applicationContext); resolver.setPrefix( this .properties.getPrefix()); 

属性前缀默认为“ classpath:/ template /”。 参见摘要ThymeleafProperties#DEFAULT_PREFIX

 public static final String DEFAULT_PREFIX = "classpath:/templates/" ; 

解决方案:

Spring Boot允许我们覆盖属性“ spring.thymeleaf.prefix”以指向源文件夹“ src / main / resources / templates /”,而不是默认的“ classpath:/ templates /”。

在application.yml | properties文件中:

 spring: thymeleaf: prefix: file:src/main/resources/templates/ #directly serve from src folder instead of target 

这将告诉运行时不要查看目标/文件夹。 而且您不需要每次在我们的src / main / resources / template上更新html模板时都重新启动服务器

那么JavaScript / CSS文件呢?

您可以进一步继续更新“ spring.resources.static-locations”以指向您的静态资源文件夹(保存js / css,图像等)

spring:resources:static-locations: file:src/main/resources/static/ #directly serve from src folder instead of target        cache:period: 0

完整代码:

好的做法是仅在开发过程中具有上述配置。 要具有生产系统的默认配置,可以使用“个人档案”并为每个环境定义单独的行为。

这是基于我们刚刚描述的完整代码段!

项目结构:

Pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><artifactId>my-sample-app</artifactId><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><java.version>11</java.version></properties><dependencies><!-- the basic dependencies as described on the blog --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency></dependencies><build><finalName>${build.profile}-${project.version}-app</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><profiles><!-- Two profiles --><profile><id>dev</id><activation><activeByDefault>true</activeByDefault></activation><properties><spring.profiles.active>dev</spring.profiles.active><build.profile>dev<build.profile></properties></profile><profile><id>prod</id><properties><spring.profiles.active>prod</spring.profiles.active><build.profile>prod<build.profile></properties></profile></profiles></project>

属性文件(yml)

application-dev.yml

 spring: profiles: active: dev thymeleaf: cache: false prefix: file:src/main/resources/templates/ #directly serve from src folder instead of target   resources: static -locations: file:src/main/resources/ static / #directly serve from src folder instead of target       cache: period: 0 

 

application-prod.yml(不会覆盖任何内容)

 spring: profiles: active: prod 

希望这可以帮助!

翻译自: https://www.javacodegeeks.com/2019/04/skip-cache-thyemeleaf-bypass-restarting-server.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「低功耗蓝牙模块」主从一体 蓝牙嗅探-助力智能门锁

一、BLE蓝牙的具体优势&#xff1a; 1、BLE蓝牙模块的待机时间超长 市面上的蓝牙智能锁基本都是使用干电池供电&#xff0c;而BLE低功耗蓝牙模块在广播、传输、待机和睡眠模式下均拥有超低的功耗&#xff0c;比如E104-2G4U04A模块&#xff0c;最大发射功率仅为2.5mW。 2、可以使…

工业以太网的优点有哪些?

以太网支持的传输介质为粗同轴电缆、细同轴电缆、双绞线、光纤等&#xff0c;其最大优点是简单&#xff0c;经济实用&#xff0c;易为人们所掌握&#xff0c;所以深受广大用户欢迎。那么&#xff0c;工业以太网具有哪些优势呢&#xff1f;接下来我们就跟随飞畅科技的小编一起来…

[渝粤教育] 南阳师范学院 英美文学选读 参考 资料

教育 -英美文学选读-章节资料考试资料-南阳师范学院【】 随堂测试 1、【单选题】 is the oldest surviving poem in the English language, and is generally regarded as the national epic of the English people. A、Ecclesiastical History of the English People B、Beowu…

蓝牙模块的5大应用场景

蓝牙模块&#xff0c;作为集成蓝牙无线技术功能的PCBA板&#xff0c;主要用于短距离无线通讯&#xff0c;已经作为物联网无线传输发展的中坚力量。那么蓝牙模块在实际生活中有哪些应用呢&#xff1f;跟亿佰特小编一起来看看吧 一、智慧医疗 当前的健康医疗设备通常是可穿戴产品…

飞畅科技-工业以太网交换机的差异性

通过之前对工业交换机的认知&#xff0c;我们了解到工业以太网交换机采用存储转换的交换方式&#xff0c;同时提高了以太网通信速度&#xff0c;并且内置智能报警设计监控网络运行状况&#xff0c;使得在恶劣危险的工业环境中保证以太网可靠稳定的运行。那么&#xff0c;工业以…

rs485通信OSI模型网络层

网络层处理发生在RS485总线上的设备之间的实际通信。由于RS485接口主要是一种电气规范&#xff0c;因此对话可以到此结束&#xff0c;但由于它支持多点&#xff0c;因此需要在 OSI 模型中解决它。 没有针对网络层寻址的固定规范&#xff0c;但RS485总线必须由主机正确管理以避…

HackTheBox - Medium - Linux - Jupiter

Jupiter Jupiter 是一台中等难度的 Linux 机器&#xff0c;它有一个使用 PostgreSQL 数据库的 Grafana 实例&#xff0c;该数据库在权限上过度扩展&#xff0c;容易受到 SQL 注入的影响&#xff0c;因此容易受到远程代码执行的影响。一旦站稳脚跟&#xff0c;就会注意到一个名…

[渝粤教育] 四川农业大学 管理学原理 参考 资料

教育 -管理学原理-章节资料考试资料-四川农业大学【】 第一章 小测试 1、【单选题】地区经理、项目主管和事业部经理都可以称为&#xff08; &#xff09;。 A、基层管理者 B、非管理者 C、中层管理者 D、非管理雇员 参考资料【 】 2、【单选题】&#xff08; &#xff09;可被…

工业以太网交换机的冗余功能及发展历程介绍

由于工业环境对工业控制网络可靠性能的超高要求&#xff0c;工业以太网的冗余功能应运而生。从快速生成树冗余(RSTP)、环网冗余&#xff08;RapidRing&#xff09;到主干冗余&#xff08;Trunking&#xff09;&#xff0c;都有各自不同的优势和特点。报警、串口使用、主干&…

常用电源符号含义分享

电源符号&#xff0c;你是否还傻傻分不清楚&#xff1f;常用电源符号附上&#xff01; 在电路设计中&#xff0c;总会出现各式各样的电源符号&#xff0c;经常会把人弄懵逼&#xff0c;今天小编整理了二十多个比较常用的电源符号分享给大家&#xff0c;快收藏呀。 1.VBB&#…

activemq网络桥接_ActiveMQ –经纪人网络解释–第5部分

activemq网络桥接在前面的第4部分中&#xff0c;我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载。 在第5部分中&#xff0c;如果主题上同时存在多个远程持久订阅者&#xff0c;我们将看到相同的配置如何工作。 考虑以下配置…。 图1&#xff1a;经纪人网络–…

模拟量、数字量与开关量的区别

我们常说模拟量、数字量、开关量&#xff0c;从字面意思大概也能明白部分意思&#xff0c;但它们到底是什么&#xff0c;有什么特点和区别呢&#xff1f;今天我们就专门来讲一讲&#xff0c;模拟量、数字量以及开关量的概念和区别。 模拟量 模拟量是指变量在一定范围内连续变…

[渝粤教育] 四川工程职业技术学院 焊条电弧焊技术与操作 参考 资料

教育 -焊条电弧焊技术与操作-章节资料考试资料-四川工程职业技术学院【】 第一周单元作业 第一周单元测验 1、【单选题】焊条电弧焊属于 A、熔焊 B、压焊 C、钎焊 D、爆炸焊 参考资料【 】 2、【单选题】焊条电弧焊的保护方式是 A、气体保护 B、熔渣保护 C、真空保护 D、气渣联…

工业以太网交换机的优势以及注意事项介绍

工业交换机的应用十分广泛&#xff0c;具有电信级性能特征&#xff0c;可耐受严苛的工作环境&#xff0c;在行业应用方面&#xff0c;主要应用于&#xff1a;煤矿安全、轨道交通、工厂自动化、水处理系统、城市安防等。接下来杭州飞畅的小编就来为大家详细介绍下工业以太网交换…

重命名Jakarta EE的Java EE规范

现在该更改规范名称了…… 当我们首先将Java EE规范的API和TCK移到Jakarta EE旗帜下的Eclipse Foundation时 &#xff0c;我们保留了规范的现有名称&#xff0c;并为保存其工件的开源项目采用了占位符名称。 当我们准备从事实际的规范工作&#xff08;涉及实际的规范文档&…

LoRa Basics无线通信技术和应用案例详解

什么是LoRa Basics技术 LoRa Basics就是Semtech Corporation基于LoRaWAN协议推出软件构建模块。LoRa Basics提取常用的LoRaWAN功能&#xff0c;即所有终端设备、网关或基于LoRaWAN解决方案的开发人员都必须实现的功能&#xff0c;并提供一组与规范兼容的、免费的、可提供支持的…

[渝粤教育] 天水师范学院 地理信息系统原理与方法 参考 资料

教育 -地理信息系统原理与方法-章节资料考试资料-天水师范学院【】 第一讲作业 第一讲测验 1、【单选题】有关信息的论述错误的是&#xff08;&#xff09;。 A、信息具有传输性 B、信息具有共享性 C、信息具有适用性 D、信息具有主观性 参考资料【 】 2、【单选题】在GIS数据中…

蓝牙模块的分类和对应的属性特点

蓝牙模块的分类&#xff0c;具体的属性特点&#xff0c;蓝牙协议5.0与4.2之间的区别&#xff0c;蓝牙角色 一、蓝牙模块的分类 ESP-WROOM-32 ESP32-WROVER E72-2G4M02S2B E72-2G4M05S1B E104-BT01 E104-BT02 E104-BT10 E73-2G4M04S1A E73-2G4M04S1B E73-2G4M04S1D E73-2G4M0…

工业以太网交换机的作用和工作原理详解

工业以太网交换机是基于以太网传输数据的交换机&#xff0c;以太网采用共享总线型传输媒体方式的局域网。工业以太网交换机的结构是每个端口都直接与主机相连&#xff0c;并且一般都工作在全双工方式。交换机能同时连通许多对端口&#xff0c;使每一对相互通信的主机都能像独占…

[渝粤教育] 天津城建大学 混凝土结构设计原理A 参考 资料

教育 -混凝土结构设计原理A-章节资料考试资料-天津城建大学【】 第一章单元测验 1、【单选题】混凝土结构设计方法的发展进程中&#xff0c;属于结构生命全过程设计法&#xff08;即兼顾结构安全性、适用性和耐久性&#xff09;&#xff0c;且运用概率方法度量结构可靠性的是 A…