WebMvcConfigurationSupport配置类会覆盖yml中的mvc配置

连接:
http://www.parrottemplate.com/index.php/2021/06/30/webmvcconfigurationsupport%e9%85%8d%e7%bd%ae%e7%b1%bb%e4%bc%9a%e8%a6%86%e7%9b%96yml%e4%b8%ad%e7%9a%84mvc%e9%85%8d%e7%bd%ae/
首先先介绍一下当前项目中发生的事情,由于当前的spring boot项目需要做些html分享功能,因此在项目中引用了:thymeleaf:

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

相对应的在 resources资源文件中添加了:templates 和 static,页面放在templates,js、css、图片等放在static,然后通过yml配置静态资源访问路径:

spring:
  mvc: # 静态资源配置 默认值为 /**
    static-path-pattern: /static/**
  resources: # 默认值为 classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
    static-locations: classpath:/static/

在此配置下html能正常访问,页面也能正常出现:

在这里插入图片描述
但是后来由于业务变更需要加上一些链路配置,故在config中配置了webConfig并且继承:WebMvcConfigurationSupport
在这里插入图片描述
然后灾难就发生了,重新访问刚刚的页面发现js、css、image等资源全部访问不到
在这里插入图片描述
后来我想是啥原因呢 看到 WebMvcConfigurationSupport,联想到yml中配置的也是mvc两者之间是否有一定联系,后者的配置吧前者的覆盖掉了,于是我有重新在webconfig中添加了一边mvc静态资源路径配置:
在这里插入图片描述

@Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        super.addResourceHandlers(registry);
    }

重启后发现果然好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值