-
Notifications
You must be signed in to change notification settings - Fork 141
静态资源
gexiangdong edited this page Jul 3, 2018
·
4 revisions
classpath:位置 | 项目中的目录 | 优先级 |
---|---|---|
/META-INF/resources/ | src/main/resources/META-INF/resources/ | 优先级最高 |
/resources/ | src/main/resources/resources/ | 第二优先 |
/static/ | src/main/resources/static/ | 第三优先 |
/public/ | src/main/resources/public/ | 第四优先 |
如果项目中没有@EnableWebMvc注解,那么上述静态资源是可以直接被浏览器访问的,如果项目中有@EnableWEbMvc注解,则无法访问了。
这是因为SpringBoot默认启动了自动配置,自动配置配置上述静态资源的访问,而使用@EnableWebMvc注解后,会禁止掉org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration 的自动配置,于是这些不能被访问了。
如果需要@EnableWebMvc注解,又需要静态资源,增加一个自定义的配置:
@Configuration
public class MvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// URL访问所有的/css/开头的url,都映射到src/main/resources/statics/css目录下;
// 注意需要classpath:开头
registry.addResourceHandler("/css/**")
.addResourceLocations("classpath:/static/css/");
}
}