1.spring boot默认资源处理

Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。
spring boot默认加载文件的路径是:
/META-INF/resources/
/resources/
/static/
/public/
这些目录下面, 当然我们也可以从spring boot源码也可以看到Java代码:
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" };
上面这几个都是静态资源的映射路径,优先级顺序为:META-INF/resources > resources > static > public
所有本地的静态资源都配置在了classpath下面了, 而非在webapp下了。
如果Spring Boot提供的Sping MVC不符合要求,则可以通过一个配置类(注解有@Configuration的类)加上@EnableWebMvc注解来实现完全自己控制的MVC配置。
当然,通常情况下,Spring Boot的自动配置是符合我们大多数需求的。在你既需要保留Spring Boot提供的便利,有需要增加自己的额外的配置的时候,可以定义一个配置类并继承WebMvcConfigurerAdapter,无需使用@EnableWebMvc注解。
如果@EnableWebMvc了,那么就会自动覆盖了官方给出的/static, /public, META-INF/resources, /resources等存放静态资源的目录。
2.自定义资源映射
这里我们提到这个WebMvcConfigurerAdapter这个类,重写这个类中的方法可以让我们增加额外的配置,这里我们就介绍几个常用的。
自定义资源映射addResourceHandlers
比如,我们想自定义静态资源映射目录的话,只需重写addResourceHandlers方法即可。
@Configuration
public class SimpleWebAppConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/myresource/**").addResourceLocations("classpath:/myresource/");
super.addResourceHandlers(registry);
}
}
通过addResourceHandler添加映射路径,然后通过addResourceLocations来指定路径。
如果我们将/myresource/* 修改为 /* 与默认的相同时,则会覆盖系统的配置,可以多次使用 addResourceLocations 添加目录,优先级先添加的高于后添加的。
3.使用外部资源
如果我们要指定一个绝对路径的文件夹(如 H:/images/ ),则只需要使用addResourceLocations 指定即可。
// 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上file:
registry.addResourceHandler("/myimgs/**").addResourceLocations("file:H:/myimgs/");
通过配置文件配置,上面是使用代码来定义静态资源的映射,其实Spring Boot也为我们提供了可以直接在 application.properties(或.yml)中配置的方法。
配置方法如下:
# 默认值为 /** spring.mvc.static-path-pattern=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ spring.resources.static-locations=这里设置要指向的路径,多个使用英文逗号隔开
使用 spring.resources.static-locations 可以重新定义 pattern 所指向的路径,支持 classpath: 和 file: (上面已经做过说明)
注意 spring.mvc.static-path-pattern 只可以定义一个,目前不支持多个逗号分割的方式。
以上所述是小编给大家介绍的spring boot中的静态资源加载处理方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# spring
# boot
# 静态资源
# 浅析SpringBoot2.4 静态资源加载问题
# Spring实战之ResourceLoader接口资源加载用法示例
# springboot的类加载器(org.springframework.boot.loader)过程
# 详解springBoot启动时找不到或无法加载主类解决办法
# 浅谈SpringBoot2.4 配置文件加载机制大变化
# 分析Spring框架之设计与实现资源加载器
# 多个
# 自定义
# 可以直接
# 重写
# 小编
# 自己的
# 都是
# 加载
# 几个
# 就会
# 让我们
# 在此
# 只需
# 下了
# 英文
# 给大家
# 可以看到
# 做过
# 不支持
# 只需要
相关文章:
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
南宁网站建设制作定制,南宁网站建设可以定制吗?
如何在万网ECS上快速搭建专属网站?
如何在万网自助建站中设置域名及备案?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
建站主机选购指南:核心配置优化与品牌推荐方案
C++中引用和指针有什么区别?(代码说明)
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何通过FTP服务器快速搭建网站?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何在腾讯云免费申请建站?
如何在腾讯云服务器快速搭建个人网站?
如何通过VPS建站实现广告与增值服务盈利?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
深圳网站制作的公司有哪些,dido官方网站?
移民网站制作流程,怎么看加拿大移民官网?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
建站之星安装后界面空白如何解决?
建站之星如何开启自定义404页面避免用户流失?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Swift中swift中的switch 语句
如何在企业微信快速生成手机电脑官网?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
制作公司内部网站有哪些,内网如何建网站?
广州美橙建站如何快速搭建多端合一网站?
建站上市公司网站建设方案与SEO优化服务定制指南
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
c# 服务器GC和工作站GC的区别和设置
济南网站制作的价格,历城一职专官方网站?
Bpmn 2.0的XML文件怎么画流程图
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
,购物网站怎么盈利呢?
北京企业网站设计制作公司,北京铁路集团官方网站?
建站之星安装失败:服务器环境不兼容?
如何将凡科建站内容保存为本地文件?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
如何配置支付宝与微信支付功能?
网站制作报价单模板图片,小松挖机官方网站报价?
教学网站制作软件,学习*后期制作的网站有哪些?
建站VPS配置与SEO优化指南:关键词排名提升策略
5种Android数据存储方式汇总
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何在IIS中新建站点并配置端口与物理路径?
高端建站三要素:定制模板、企业官网与响应式设计优化
*请认真填写需求信息,我们会在24小时内与您取得联系。