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 ResourcesConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 将所有/static/** 访问都映射到classpath:/static/ 目录下
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
// 将 /images/** 访问映射到 /data/images/ 目录下
registry.addResourceHandler("/images/**").addResourceLocations("file:/data/images/");
}
}
资源位置:
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
- 这个配置表示,对于所有以
/static/
开头的请求路径,Spring Boot 将会从类路径(classpath)下的/static/
目录中寻找相应的资源。这是Spring Boot处理静态资源的默认方式之一,特别适用于打包成单个jar或war文件的应用,因为类路径下的资源会包含在打包文件中。
- 这个配置表示,对于所有以
registry.addResourceHandler("/images/**").addResourceLocations("file:/data/images/");
- 这个配置则指定,对于所有以
/images/
开头的请求路径,Spring Boot 将会从文件系统上的/data/images/
目录中寻找资源。这种方式适用于那些需要从外部文件系统或网络文件系统(如NFS)中提供静态资源的场景。
- 这个配置则指定,对于所有以