1. 程式人生 > >Sping boot 靜態資原始檔的路徑配置

Sping boot 靜態資原始檔的路徑配置

在web開發中,靜態資源的訪問是必不可少的,如:圖片、js、css 等資源的訪問。
spring Boot 對靜態資源訪問提供了很好的支援,基本使用預設配置就能滿足開發需求。
一、預設靜態資源對映
Spring Boot 對靜態資源對映提供了預設配置

Spring Boot 預設將 /** 所有訪問對映到以下目錄:
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources
Spring Boot 預設會挨個從 public resources static 裡面找是否存在相應的資源,如果有則直接返回。
二、自定義靜態資源對映


在實際開發中,可能需要自定義靜態資源訪問路徑,那麼可以繼承WebMvcConfigurerAdapter來實現。

第一種方式:靜態資源配置類
package com.sam.demo.conf;

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

/**
* 配置靜態資源對映
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    //將所有/static/** 訪問都對映到classpath:/static/ 目錄下
    registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}

第二種方式:在application.properties配置
在application.properties中新增配置:
spring.mvc.static-path-pattern=/static/**
重啟專案,訪問:http://localhost:8080/static/c.jpg 同樣能正常訪問static目錄下的c.jpg圖片資源。
注意:通過spring.mvc.static-path-pattern這種方式配置,會使Spring Boot的預設配置失效,也就是說,/public /resources 等預設配置不能使用。
配置中配置了靜態模式為/static/,就只能通過/static/來訪問。