Spring Boot 实战解决 WebMvcConfigurationSupport 静态资源失效问题
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/")
.addResourceLocations("classpath:/public/")
.addResourceLocations("classpath:/resources/");
// 如果你需要添加对其他目录的支持,可以继续添加 .addResourceLocations 方法
// 例如添加对 /my_static/** 的支持
// registry.addResourceHandler("/my_static/**")
// .addResourceLocations("file:./my_static/");
super.addResourceHandlers(registry);
}
}
这段代码定义了一个配置类 WebConfig
,它扩展了 WebMvcConfigurationSupport
并覆盖了 addResourceHandlers
方法。这个方法用于添加资源处理器,以便 Spring Boot 应用能够正确地处理静态资源。这里使用了三个常用的静态资源目录:classpath:/static/
, classpath:/public/
和 classpath:/resources/
,并且调用了 super.addResourceHandlers(registry)
以确保其他的资源处理器仍然有效。这样做可以避免使用 WebMvcConfigurationSupport
带来的问题,如 Spring Boot 自动配置失效。
评论已关闭