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;接下来我们就跟随飞畅科技的小编一起来…

蓝牙模块的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;就会注意到一个名…

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

由于工业环境对工业控制网络可靠性能的超高要求&#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;模拟量、数字量以及开关量的概念和区别。 模拟量 模拟量是指变量在一定范围内连续变…

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

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

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

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

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

蓝牙模块的分类&#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…

蓝牙模块有哪些种类?BLE低功耗蓝牙模块有什么特点?

Ble蓝牙模块是专为物联网无线数据传输而生&#xff0c;ble蓝牙模块以其超低功耗、快速连接、容易交互等特点&#xff0c;已广泛应用于物联网蓝牙设备中。 一、蓝牙模块的分类 那么&#xff0c;蓝牙模块都有哪些种类呢&#xff1f;按照一般的用途来分类的话可以简单的分3类&am…

akka应用_处理Akka应用程序中的每个事件

akka应用这里的事件&#xff0c;那里的事件&#xff0c;到处都是事件。 发布有关检查每一项Akka事件最终都能找到归宿的信息。 Akka和基于事件的React式应用程序是创建软件的新方法。 在当前基于Scala的项目中&#xff0c;我们非常密集地使用Akka。 事件非常适合我们的用例&am…

工业以太网交换机故障的排障步骤

工业以太网交换机在工业安防领域的应用可以说是非常的广泛了&#xff0c;我们在使用工业交换机的过程中&#xff0c;难免会遇到各种各样的故障问题&#xff0c;但是工业以太网交换机的故障有多种多样&#xff0c;不同的故障有不同的表现形式&#xff0c;那么&#xff0c;我们在…

EDA软件断供对国产芯片发展有什么影响?

美国断供EDA软件&#xff0c;对国产芯片发展有什么影响&#xff1f;国产EDA水平如何&#xff1f; 没有EDA&#xff0c;就没有芯片 EDA&#xff08;Electronic Design Automation&#xff09;&#xff0c;即电子设计自动化&#xff0c;是利用计算机辅助完成集成电路芯片的设计…

前途无量的MEMS传感器技术

MEMS传感器即微机电系统&#xff08;Micro-electro Mechanical Systems&#xff09;&#xff0c;是指将精密机械系统与微电子电路技术结合发展出来的一项工程技术&#xff0c;它的尺寸一般在微米量级。封装技术是MEMS传感器成功的关键&#xff0c;其技术包括SIP&#xff08;系统…