MENU

springboot配置文件真实地址

March 8, 2021 • Java

使用场景

比如我们在更目录下新建了一个图片目录,里面有一个文件,如

img/picSinger/jack.jpg

如果我们需要在前端调用获取到这张图片,比如

http://localhost:8080/img/picSinger/jack.jpg

直接这样在浏览器是打不开的,需要简单配置一下

定义配置文件

package com.example.music_back.config;

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

/**
 * @author xupt
 */
@Configuration
public class ImgConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/img/avatar/**")
        .addResourceLocations("file:" + System.getProperty("user.dir")
                + System.getProperty("file.separator")
                + "img" + System.getProperty("file.separator") + "avatar"
                + System.getProperty("file.separator"));
    }
}

@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)

要映射到我们静态资源目录,只需要重写WebMvcConfigurer接口的addResourceHandlers方法

  • addResoureHandler:指的是对外暴露的访问路径
  • addResourceLocations:指的是内部文件放置的目录

上面示例中的代码是在linux系统上的,参照

示例图片

注意addResourceLocations中的路径

System.getProperty表示获取系统的配置信息

  • file.separator 文件分隔符(/)
  • user.dir 用户的当前工作目录

对照示例代码,还是挺好配的

转载请注明出处,并添加原文地址

Archives QR Code Tip
QR Code for this page
Tipping QR Code