springboot项目静态映射关于路径的填写小总结

我们再写springboot项目的时候经常要使用到接口 WebMvcConfigurer

用这个接口大部分的目的都用来重写 addResourceHandlers 方法

为的就是将本地的文件静态映射到Tomcat服务器上

还需用到的两个类就是 addResourceHandler 和 addResourceLocations

这里就来总结一下这两个的参数填写

第一种:

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebAppconfigurer implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\aaa\\bbb\\ccc\\");   
      
    }
}

  addResourceHandler("/image/**")里面填写的路径参数虚拟路径,就是用来网路请求的路径,可以填写成自己想写的 即("/ 自己要写的虚拟路径 /**"),下面都是一样的填写。

而addResourceLocations("file:D:\\aaa\\bbb\\ccc\\")就是第一种路径填写方法,直接填写绝对路径。经过网路请求将会访问到  D:\aaa\bbb\ccc\  下的文件。这里必须有 file:而且 \ 要写两遍

第二种:

 @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/image/**").addResourceLocations("classpath:/images/aaa/");
        registry.addResourceHandler("/file/**").addResourceLocations("classpath:/images/bbb/");
                
    }
"classpath:/images/aaa/"就是自己的项目的根目录下的文件,就是存放在resources里面的文件夹对应的文件。

第三种:

@Configuration
@Slf4j
public class WebAppconfigurer extends WebMvcConfigurationSupport {

    @Value("${ImagesFilePath}")
    private String ImagesFilePath;
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/image/**").addResourceLocations("file:"+ImagesFilePath);
    }
}

这种写法是常用的,因为方便管理,但需要配置 application.yml

    配置如下:

#Windows下的路径配置
ImagesFilePath: D:\aaa\bbb\ccc\

#linux下的路径配置
#ImagesFilePath: /usr/local/images/

这里需要注意的是Win系统是右斜杠 \

Linux系统是左斜杠 /

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Spring Boot中,可以使用yml文件来配置静态资源映射。具体配置方式如下: 在application.yml文件中添加以下内容: ```yaml img-filepath: /path/to/img/folder/ video-filepath: /path/to/video/folder/ ``` 其中,`/path/to/img/folder/`是存放图片的文件夹路径,`/path/to/video/folder/`是存放视频的文件夹路径。 然后,在启动类中使用`@Value`注解来获取配置文件中的路径: ```java @SpringBootApplication public class StudyApplication implements WebMvcConfigurer { @Value("${img-filepath}") private String imgPath; @Value("${video-filepath}") private String videoPath; // 省略其他代码 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/img/**").addResourceLocations("file:" + imgPath); registry.addResourceHandler("/play/**").addResourceLocations("file:" + videoPath); } // 省略其他代码 } ``` 这样,当访问`http://localhost:8080/img/0a3b3288-3446-4420-bbff-f263d0c02d8e.jpg`时,就会去`/path/to/img/folder/`下找到对应的图片。同理,访问`http://localhost:8080/play/`时,会去`/path/to/video/folder/`下找到对应的视频。 #### 引用[.reference_title] - *1* *2* *3* [springboot静态资源映射配置](https://blog.csdn.net/m0_62317155/article/details/128622300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值