问题描述
Spring Boot项目,目录结构如下图。理论上讲,resources/static
目录下的index.html
应该会被映射到http://127.0.0.1:8080/
路径下,但是实际请求却发现返回404
。
环境:Spring Boot 2.1.6.RELEASE
解决方案
代码如下,在Spring MVC的配置类WebMvcConfigurer
中,不要加@EnableWebMvc
注解。
@Configuration
//@EnableWebMvc // 删掉这里
public class WebMvcConfig implements WebMvcConfigurer {
}
追根探底
Spring Boot官方文档中有这么一段。
Spring Boot 提供了对 Spring MVC 的自动配置,这些自动配置使用与大多数应用。
…
- 对静态资源映射支持…
…- 默认首页
index.html
。
…
如果需要…的自定义配置,可以使用@Configuration
注解WebMvcConfigurer
,但是不要添加@EnableWebMvc
注解。…
如果想要完全控制 Spring MVC,可以同时添加@Configuration
和@EnableWebMvc
注解。