springboot静态资源文件找不到
框架:springboot+mybatisplus+shiro+thymeleaf
问题:
在做项目的时候,前端引用能点到链接,但是项目启动后静态资源文件却加载不出来
先自查1.是否放在static下
2.查看application.yml配置是否出错
spring:
thymeleaf:
cache: false
mvc:
static-path-pattern: /static/**
resources:
static-locations: classpath:/static/
我的原因:
springboot在启动时会自动装配,但当重写某个配置文件之后,重写的将覆盖默认的配置,所以在重写WebMvcConfigurer后,静态资源访问路径被覆盖,需要手动添加配置
解决办法:
/**
* 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//这里配置静态资源访问,即所有指向/static的请求都会去/static包下找
registry.addResourceHandler("/static/**").addResourceLocations(
"classpath:/static/");
registry.addResourceHandler("doc.html").addResourceLocations(
"classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
registry.addResourceHandler(fileUploadProperties.getAccessUrl())
.addResourceLocations("file:" + fileUploadProperties.getPath());
}