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

时间:2017-12-16 19:05:49

标签: java spring spring-boot resources

我在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/");
    }
}

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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