springboot的静态资源的默认存放位置
查看源码可得:
位于:org.springframework.boot.autoconfigure.web.ResourceProperties
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/");
}
}