关于Spring Boot 2.*版本无法加载静态资源

211 阅读1分钟

学习Spring Boot框架时,运行后发现无法加载静态资源的问题,在此记录下。 网上很多方法是继承WebMvcAutoConfiguration,但是我这边用了没效果,可能是我使用的方法不对。后来找到有效方法是实现WebMvcConfigurer接口。

实现WebMvcConfigurer接口。

package com.damon.musicplayer.play.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.annotation.Resource;

/**
 * @ Description:
 * @ Author     :Damon
 * @ Date       :Created in 14:15 2020/5/14
 */
@Configuration
public class WebMvcConfig  implements WebMvcConfigurer {
    /**
     * 添加静态资源文件,外部可以直接访问地址
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/**");
        registry.addResourceHandler("/base/**").addResourceLocations("file:C:/music/**");

    }

}

application.yml配置文件。

  mvc:
    static-path-pattern: /static/**
    spring:
      resources:
        static-locations: classpath:/static/**,file:C:/music/**

静态页面使用。

    <audio crossorigin>
        <source src="base/test.mp3" type="audio/mpeg">
    </audio>
    <img src="static/img/test.jpg"/>