SpringBoot 使用 WebMvcConfigurer接口或者WebMvcConfigureSupport定义静态资源地址不生效

实现方法有继承 webmvcconfigureAdaptor 已过时。

实现 WebMvcConfigurer接口 和继承 WebMvcConfigureSupport。

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
     registry.addResourceHandler("/file/**")
     .addResourceLocations("file:D:\");
    }
}

注意addResourceLocation方法里 (“clasPath:”)为项目内文件。file:{外部路劲} 为jar包外,系统任意目录。

结果发现不生效。

再打断点,把日志级别改为debug等一系列操作后,发现是资源处理器为null。固在上述 registry.addResourceHandler处打断点,发现并没有进入。判断为@Configuration 没生效。

百度@Configuration不生效的原因皆排除。

最后想起以前为了给返回的json统一配置null值序列化设默认值的时候,已经有一个配置类继承了WebMvcConfigureSupport。

重写了configureMessageConvertors方法。这时该配置类没有重写的那些方法就会被自动配置new一些对象,导致这些对象已存在。后面我又新加一个配置类也继承WebMvcConfigureSupport或者实现WebMvcConfigurer接口的addResourceHandler方法时,该对象已经不为null将不再执行配置。所以没生效。

记录一下。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值