SpringBoot虚拟路径映射

要求:访问:127.0.0.1/image/下的文件时,自动映射到真实路径:D:Files\。

复制代码
virtualFileDepositPath: /image/**
realityFileDepositPath: C:\Users\xin\Desktop\imgCreate\Files\
java 复制代码
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * 图片绝对地址与虚拟地址映射
 */

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Value("${realityFileDepositPath}")
    private String realityFileDepositPath;

    @Value("${virtualFileDepositPath}")
    private String virtualFileDepositPath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler(virtualFileDepositPath)
                .addResourceLocations("file:" + realityFileDepositPath);
    }
}

这个Java类和重写的addResourceHandlers方法是用来实现Spring MVC中的虚拟路径映射功能的。

具体来说:

  1. 这个类继承了WebMvcConfigurerAdapter,这是一个Spring MVC的配置适配器类。
  2. 重写了addResourceHandlers方法,这个方法用来配置静态资源的处理。
  3. 在方法中,使用了registry.addResourceHandler来关联一个虚拟路径virtualFileDepositPath和一个实际磁盘路径realityFileDepositPath。
  4. 这样就实现了一个虚拟路径到实际磁盘路径的映射。
  5. 当外部用户访问虚拟路径时,会被映射到实际磁盘路径去查找资源。
  6. 这样可以隐藏真实文件的磁盘位置,并可以灵活重新组织文件目录结构。
  7. 对外部用户来说,只需要访问不变的虚拟路径就可以访问到文件资源,无需关心实际存放位置。

总之,这个类实现了Spring MVC中虚拟路径映射的功能,通过配置可以映射虚拟路径到实际磁盘路径,从而隐藏具体文件位置,改善外部访问方式。

相关推荐
云烟成雨TD9 分钟前
Spring AI Alibaba 1.x 系列【33】Human-in-the-Loop(人在回路)演示
java·人工智能·spring
今天你TLE了吗11 分钟前
LLM到Agent&RAG——AI概念概述 第五章:Skill
人工智能·笔记·后端·学习
難釋懷14 分钟前
Redis服务器端优化-内存划分和内存配置
java·redis·spring
两年半的个人练习生^_^14 分钟前
每日一学:设计模式之适配器模式
java·设计模式·适配器模式
程序员老邢21 分钟前
【技术底稿 18】FTP 文件处理 + LibreOffice Word 转 PDF 在线预览 + 集群乱码终极排查全记录
java·经验分享·后端·pdf·word·springboot
fox_lht24 分钟前
8.3.使用if let和let else实现简明的程序流控制
开发语言·后端·算法·rust
磊 子39 分钟前
类模板与派生1
java·开发语言·c++
:12142 分钟前
java面试基础2
java·开发语言·面试
云烟成雨TD1 小时前
Spring AI Alibaba 1.x 系列【30】Nacos Skill Registry 的底层设计与实现
java·人工智能·spring
北辰屿风1 小时前
宝塔部署tomcat项目,nginx负载均衡代理访问报错404问题
java·tomcat