springboot2.x 加载静态文件
升级到springboot2.x,网上的资料都是1.x的
springboot1.x
像这种直接在resources文件夹下创建static文件夹,里面放文件的方式已经不能用了。
springboot 2.x的版本
其实加载起来也非常简单。
- 创建配置文件实现
WebMvcConfigurer
重写addResourceHandlers
@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//registry.addResourceHandler("/static/*").addResourceLocations("classpath:/static/");
registry.addResourceHandler("/cms/broadcasts/*").addResourceLocations("file:D:\\static\\");
}
}
向上面这样,注意加上两个注解,配置拦截的资源匹配符,registry中可以配置多个。
像第一个被注释掉的,拦截 /static/*
的请求,去classpath:/static/
里面找。
第二个拦截 /cms/broadcasts/
的资源去 file:D:\\static\\
D盘下面的static里面找。这样就可以找到了
- 毕竟我们也要将文件放在外置的文件夹下的,比如说用户上传的图片之类的。
2019年10月11日15:32:27 更新
也可以继承下面这个,这样不用加EnableWebMvc
注解了
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
}