Java基础之Freemarker(1)模板加载及清空机制
2023-09-14 09:00:08 时间
一 freemarker加载模版机制
freemarker中的配置项template_update_delay表明模版的缓存时间,单位是s,超过缓存时间则从磁盘加载最新的模版,具体细节如下:
1)freemarker中获取模版的方法在Configuration中:
2)Configuration的getTemplate方法直接代理给TemplateCache:
3)TemplateCache中首先会尝试从缓存中加载模版:
然后根据template_update_delay来判断缓存中的模版是否需要刷新;
二 Freemarker自带刷新接口
Freemarker本身提供的刷新接口是Configuration的clearTemplateCache方法,可以用来清空所有的模版缓存;
1 使用spring mvc
1.1 配置template_update_delay
1.2 手工刷新
2 直接使用freemarker
2.1 配置template_update_delay
2.2 手工刷新
以上手工刷新方法的优点是不需要修改源代码,直接利用freemarker原有功能,缺点是所有模版缓存都会被刷新;如果希望只刷新指定的模版,只能二次开发;
相关文章
- 2011年全国软件大赛模拟题及参考答案(Java高职组)
- [Java 基础] 使用java.util.zip包压缩和解压缩文件
- [Java基础] java的守护线程与非守护线程
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java魔法堂:finalize函数
- Java实现 LeetCode 731 我的日程安排表 II(二叉树)
- Java实现 LeetCode 41 缺失的第一个正数
- java实现洛谷P3376【模板】网络最大流
- Java实现网格中移动字母
- Java实现 蓝桥杯VIP 算法提高 排队打水问题
- Java实现 蓝桥杯VIP 算法提高 我们的征途是星辰大海
- Java实现 蓝桥杯VIP 算法训练 接水问题
- JAVA-蓝桥杯-算法训练-字符串变换
- (转载)java多态(2)-------Java转型(向上或向下转型)
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- [Linux] Install java and add JAVA_HOME, PATH
- intellij idea:设置java方法注释模板(intellij idea 2019.2)
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- 【JAVA】 04-Java中的多线程
- 【java设计模式】之 模板方法(Template Method)模式
- Atitit web httphandler的实现 java python node.js c# net php 目录 1.1. Java 过滤器 servelet1 1.2. Python的
- Atitit java播放器调音速率快慢的实现 目录 1.1. 原理 本质上是改变采样率即可1 2. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/dec
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
- 【java】Java经典面试题整理(附答案)
- Simple Logging Facade for Java (SLF4J)作用(java日志框架)
- 力扣——1. 两数之和(java实现)
- java 从一个总的list集合中,去掉指定的集合元素,得到新的集合——removeAll()
- Java日志框架学习--日志门面--中