springboot自定义静态资源访问

本文详细介绍了在SpringBoot项目中如何自定义静态资源的加载位置,包括通过配置文件和代码配置两种方式,以及如何同时使默认和自定义静态资源位置生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot 静态资源位置,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,默认资源放在这几个目录下,是可以访问的,但是项目中往往需要自己定义静态资源加载的位置,这个时候就需要我们进行配置或者在项目中加一个配置类解决这个需求问题。

1、在配置文件中进行配置

配置访问静态资源请求路径
spring.mvc.static-path-pattern=/basedata/**
配置自定义静态资源存储位置,这样配置之后默认静态资源访问就不生效了
spring.resources.static-locations=file:./basedata/

该配置项也可以配置成数组形式 举例如下
自定义静态资源存储位置,可以用 ${}代替值
web.source.unzip=/aiplatformadmin/AI3.1/upload/audio/

spring.resources.static-locations[0]=classpath:/public/
spring.resources.static-locations[1]=classpath:/static/
spring.resources.static-locations[2]=classpath:/resources/
spring.resources.static-locations[3]=classpath:/META-INF/resources/
spring.resources.static-locations[4]=file:${web.source.unzip}
通过举例配置,这样默认静态资源位置和自定义静态资源都可以访问

2、代码中进行配置

@Configuration
public class MyConfiguration extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/basedata/**").addResourceLocations("file:" + "."+ File.separator+"basedata"+File.separator);
    }
}

addResourceHandler 这个方法是配置资源请求路径
addResourceLocations 这个方法是配置自定义静态资源存储位置,里边用到了file:,是因为资源放置位置不在classpath下边,是自定义的,也可以写为classpath:

效果展示:

项目结构:

访问结果展示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值