Springboot如何设置静态资源缓存一年
作者:天之骄子zz 发布时间:2022-04-16 09:45:22
标签:spring,boot,设置,静态,资源,缓存
这篇文章主要介绍了Springboot如何设置静态资源缓存一年,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
由于本人所在项目组,所用的项目是前后端分离的,前端是React 的SPA,每次打包都会新版本的静态文件。
然而,在有些时候,这些静态资源是不变的,故可以将资源缓存至用户本地,提升性能。
写法如下,需要继承WebMvcConfigurerAdapter类,并重写addResourceHandlers方法。就可以告诉浏览器强制缓存
package cn.ixan.search.configuration;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import java.util.concurrent.TimeUnit;
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
/**
* <p>设置静态资源缓存时间:1年</p>
* <p>注意:不可缓存入口文件</p>
* @param registry 资源注册
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/*.js","/*.css")
.addResourceLocations("classpath:/static/")
//.setCacheControl(CacheControl.maxAge(365,TimeUnit.DAYS).cachePublic())
.setCachePeriod(3153600);
}
}
据某位大佬说,大家可以强制设置静态资源缓存一年,但一定不要缓存入口文件,大家可以试试改造自己的项目。
如果设置成功,会有下面的效果,from disk cache,一般情况是from memory cache
大家还可以注意下cache-control这个值,当然这个值是以秒为单位的。
有兴趣的同学可以研究研究cache-control,补充补充web基础知识
来源:https://www.cnblogs.com/ixan/p/11960528.html


猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧~ public static void main(String[] args) { &n
- Mybatis入门-基于配置实现单表的增删改查Mybatis简介官网链接:https://mybatis.org/mybatis-3/zh/
- Java是如何跳出当前多重循环?不建议使用在最外层前面加一个标记A,然后用break A;可以跳出多重循环因为它不会让你的程序变得更加优雅,
- 今天是解决报错的一天,首先在操作Springboot中的时候,有些朋友的yml显示的不是绿叶的图标,或者是配置了之后不生效的问题。第一个解决
- 目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果。先看下效果图:&nbs
- 最初,XML 语言仅仅是意图用来作为 HTML 语言的替代品而出现的,但是随着该语言的不断发展和完善,人们越来越发现它所具有的优点:例如标记
- 1、static是什么意思?static 关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。例如Main类pa
- 本文实例为大家分享了UnityShader3实现彩光效果展示的具体代码,供大家参考,具体内容如下参考链接: 【OpenGL】Shader实例
- 本文实例为大家分享了Android仿美团下拉菜单的实现代码,分类进行选择,供大家参考,具体内容如下效果图操作平台AS2.0第三方框架:but
- 本文实例为大家分享了Android自定义EditText实现登录界面的具体代码,供大家参考,具体内容如下先看效果图:自定义edittext
- 生命周期速览优先级servlet 的声明周期由 tomcat 服务器自行管辖,程序员无法插手;只要没有通过 url 访问 servlet,那
- 生成随机数可以用伪随机数发生器Random,受种子控制生成伪随机数,默认以当前时间值为种子。如果程序运行的很快,就会导致在几乎同一时刻运行多
- 本文实例讲述了Android开发之TabActivity用法。分享给大家供大家参考,具体如下:一.简介TabActivity继承自Activ
- 下载:DownLoaderTask.javapackage com.johnny.testzipanddownload;import jav
- 前言本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧1.
- 一、网络爬虫的基本知识网络爬虫通过遍历互联网络,把网络中的相关网页全部抓取过来,这体现了爬的概念。爬虫如何遍历网络呢,互联网可以看做是一张大
- 这几天在上海出差,忙里偷闲学习了一下Apk的反编译工具的基本使用。下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获
- 本文实例讲述了WinForm实现移除控件某个事件的方法,供大家参考借鉴一下。具体功能代码如下:主要功能部分代码如下:/// <summ
- 普通的公有继承class test1{public: test1(int i) :num1(i) {}privat
- 一、匿名结构体struct{ char name[20]; int age;}s1;匿名