Spring Boot:动态更改静态资源处理程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot:动态更改静态资源处理程序?相关的知识,希望对你有一定的参考价值。

我在Spring Boot项目的配置中有以下内容,该项目提供来自本地文件系统的静态文件:

@Configuration
public class StaticResourceConfiguration extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry)
    {
        System.out.println("adding resource handler");
        registry.addResourceHandler("/myfiles/**").addResourceLocations("file:///C:/Users/Pepria/Downloads/static_files/");
    }
}

上面的配置工作正常,但我想在运行时动态更改资源位置。据我所知,上面的代码在我的任何逻辑执行之前运行。我该怎么做呢?

答案

您可以使用所需的路径添加ResourceHandler,如下所示:

registry.addResourceHandler("/myfiles/**").addResourceLocations("file:" + Strings.filePath);

您可以随时在应用程序中设置Strings.filePath。

public class Strings {
    public static String filePath;
    //or maybe setters getters
}

以上是关于Spring Boot:动态更改静态资源处理程序?的主要内容,如果未能解决你的问题,请参考以下文章

更改 Spring-boot 静态 Web 资源位置?

spring boot 静态资源。。

Spring Boot静态资源处理

Spring Boot 静态资源处理

Spring Boot 的静态资源处理

Spring Boot 静态资源处理