Spring Boot靜態(tài)資源路徑的配置與修改詳解
默認路徑
在Spring Boot 2.7.2版本中,查看默認靜態(tài)資源路徑,在WebProperties.class中如下
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"};可以看到默認資源路徑有4個。
使用Spring Initializr新建Spring Boot項目,自帶static目錄,直接將前端資源文件放到該目錄下,啟動項目,訪問http://localhost:端口號/資源目錄/名稱.html即可;
例如,有一個front目錄,該目錄下存在一個index.html文件,將此目錄放于src/main/resources/static下,并且未修改端口號,訪問http://localhost:8080/front/index.html即可看到訪問成功。
修改路徑
使用配置文件進行修改
對于低版本,在配置文件application.yml中如下:
spring:
resources:
static-locations: classpath:/
代表將資源目錄直接放在src/main/resources/下
但是,對于高版本,該方式已棄用,不推薦?。。?/p>
對于高版本,在配置文件application.yml中如下:
spring:
web:
resources:
static-locations: classpath:/
高版本這樣設(shè)置,可以成功訪問http://localhost:8080/front/index.html
使用配置類進行修改
新建配置類WebMvcConfig.java繼承WebMvcConfigurationSupport類
package com.aiw.waimai.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
/**
* 設(shè)置靜態(tài)資源映射
* @param registry
*/
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("開始進行靜態(tài)資源映射。。。");
registry.addResourceHandler("/**").addResourceLocations("classpath:/");
}
}可以成功訪問http://localhost:8080/front/index.html
注意:兩種配置方式不可同時存在,并且修改后默認的訪問路徑就失效了;對于配置類方式,@Slf4j是Lombok提供的注解,方便打印日志,非必須
【更新】網(wǎng)上看到WebMvcConfigurationSupport已過時,故更新為實現(xiàn)WebMvcConfigurer接口
package com.aiw.waimai.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Slf4j
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
/**
* 設(shè)置靜態(tài)資源映射
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("開始進行靜態(tài)資源映射。。。");
registry.addResourceHandler("/**").addResourceLocations("classpath:/");
}
}到此這篇關(guān)于Spring Boot靜態(tài)資源路徑的配置與修改詳解的文章就介紹到這了,更多相關(guān)Spring Boot靜態(tài)資源路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Java中如何實現(xiàn)文件的讀寫操作
在Java中,可以使用File和FileInputStream、FileOutputStream、BufferedReader、PrintWriter等類來進行文件讀寫操作,需要的朋友可以參考下2023-05-05
Mybatis plus結(jié)合springboot使用
本文主要介紹了MyBatisPlus使用SpringBoot數(shù)據(jù)庫操作,從添加依賴到測試,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
java使用任務(wù)架構(gòu)執(zhí)行任務(wù)調(diào)度示例
在Java 5.0之前啟動一個任務(wù)是通過調(diào)用Thread類的start()方法來實現(xiàn)的,5.0里提供了一個新的任務(wù)執(zhí)行架構(gòu)使你可以輕松地調(diào)度和控制任務(wù)的執(zhí)行,并且可以建立一個類似數(shù)據(jù)庫連接池的線程池來執(zhí)行任務(wù),下面看一個示例2014-01-01
SpringBoot攔截器與文件上傳實現(xiàn)方法與源碼分析
其實spring boot攔截器的配置方式和springMVC差不多,只有一些小的改變需要注意下就ok了。本文主要給大家介紹了關(guān)于如何在Springboot實現(xiàn)登陸攔截器與文件上傳功能,需要的朋友可以參考下2022-10-10
Spring?Boot?Admin?添加報警提醒和登錄驗證功能的具體實現(xiàn)
報警提醒功能是基于郵箱實現(xiàn)的,當(dāng)然也可以使用其他的提醒功能,如釘釘或飛書機器人提醒也是可以的,但郵箱報警功能的實現(xiàn)成本最低,所以本文我們就來看郵箱的報警提醒功能的具體實現(xiàn)2022-01-01
Java的LinkedHashMap的實現(xiàn)原理詳解
這篇文章主要介紹了Java的LinkedHashMap的實現(xiàn)原理詳解,???LinkedHashMap是Map接口的哈希表和鏈接列表實現(xiàn),具有可預(yù)知的迭代順序,此實現(xiàn)提供所有可選的映射操作,并允許使用null值和null鍵,此類不保證映射的順序,特別是它不保證該順序恒久不變,需要的朋友可以參考下2023-09-09
java從命令行獲取數(shù)據(jù)的三種方式代碼實例
這篇文章主要介紹了java從命令行獲取數(shù)據(jù)的三種方式代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12

