springboot-静态资源-自定义映射位置

springboot的静态资源的默认存放位置

查看源码可得:
位于:org.springframework.boot.autoconfigure.web.ResourceProperties
在这里插入图片描述
springboot-静态资源-自定义映射位置_第1张图片

	private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/",
			"classpath:/resources/", "classpath:/static/", "classpath:/public/" };

	private String staticPathPattern = "/**";

默认静态路径模式为:/**
默认静态资源的位置为:classpath:/META-INF/resources/,
classpath:/resources/, classpath:/static/, classpath:/public/
所以只要存放在这四个目录下都为静态资源,可以直接访问(还有个 “/”目录,为webapp,很少用)

这个四个目录存在优先级,同名文件优先级:
/META-INF/resources/ >> /resources/ >> /static/ >> /public/


自己定义静态资源的位置:

  • 方式一:
    application.properties文件中配置
#静态资源位置
spring.resources.static-locations=classpath:/mylocation/
#自定义路径规则,必须前缀为mylocation的才视为访问静态资源
spring.mvc.static-path-pattern=/mylocation/**
  • 方式二:
@Configuration
public class WebMvnConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/mylocation/**").addResourceLocations("classpath:/mylocation/");
    }
}

你可能感兴趣的:(SpringBoot)