轉載:https://www.cnblogs.com/magicalSam/p/7189476.html
一、靜態資源路徑是指系統能夠直接訪問的路徑,且路徑下的全部文件都可被用戶經過瀏覽器直接讀取。html
二、在Springboot中默認的靜態資源路徑有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/web
1、默認靜態資源映射
Spring Boot 對靜態資源映射提供了默認配置spring
Spring Boot 默認將 /** 全部訪問映射到如下目錄:
classpath:/static classpath:/public classpath:/resources classpath:/META-INF/resources
如:在resources目錄下新建 public、resources、static 三個目錄,並分別放入 a.jpg b.jpg c.jpg 圖片
瀏覽器分別訪問:
http://localhost:8080/a.jpg http://localhost:8080/b.jpg http://localhost:8080/c.jpg
均能正常訪問相應的圖片資源。那麼說明,Spring Boot 默認會挨個從 public resources static 裏面找是否存在相應的資源,若是有則直接返回。
2、自定義靜態資源映射
在實際開發中,可能須要自定義靜態資源訪問路徑,那麼能夠繼承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; /** * 配置靜態資源映射 * @author sam * @since 2017/7/16 */ @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //將全部/static/** 訪問都映射到classpath:/static/ 目錄下 registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }
重啓項目,訪問:http://localhost:8080/static/c.jpg 能正常訪問static目錄下的c.jpg圖片資源。
第二種方式:在application.properties配置
在application.properties中添加配置:
spring.mvc.static-path-pattern=/static/**