解决spring-boot项目静态资源不会被浏览器缓存问题

先说下项目用到的技术  spring-boot+spring-security+spring-data-jpa+jsp+mysql大概就是这样。

在项目启动之后我发现所有的静态资源在刷新页面之后都会向服务器获取,而不是从缓存中获取,这样会导致项目部署到服务器上,访问页面变得很慢,在查阅资料之后,找到解决方法:

在WebMvcConfigurer这个类里重写一个方法,因这个类是实现了WebMvcConfigurer这个接口:代码我贴下面了,看不懂的可以去复制到IDE中去看源码注释。

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
//解决spring-boot缓存静态资源问题
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry
                .addResourceHandler("/assets/**")//括号里是精彩资源存放的位置名字是自己的,可能一致也可能不一致
                .addResourceLocations("/assets/")
                .setCachePeriod(31556926);//表示缓存的时间(秒)
    }
}

这样就解决了,浏览器不缓存静态资源的问题。

posted @ 2019-07-05 16:15  廾匸  阅读(2409)  评论(0编辑  收藏  举报