日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot——自定义Web配置类后无法访问/static文件夹下静态资源

發布時間:2024/10/5 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot——自定义Web配置类后无法访问/static文件夹下静态资源 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述

自定義Web配置類后無法訪問?/static文件夾下靜態資源。

已加相關依賴包。

官方文檔

Spring MVC Auto Configuration

Maven

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

問題分析

(1)在src/main/resources/目錄下創建?static文件夾?

(2)在src/main/resources/目錄下創建?resources文件夾?

(3)在src/main/resources/目錄下創建?public文件夾?

(4)在src/main/resources/目錄下創建?META-INF/resources文件夾?

目錄結構圖:?

優先級順序:/META-INF/resources>resources>static>public

Spring Boot 訪問靜態資源的規則在WebMvcAutoConfiguration自動配置類中

在該類下有對資源處理的方法?

默認按照該加載順序,加載靜態資源文件。

Web的自動配置類中

在沒有WebMvcConfigurationSupport.class的情況下,才會使用Spring Boot的Web自動配置

在==@EnableWebMvc==中,通過 @Import 導入了DelegatingWebMvcConfiguration類

而?DelegatingWebMvcConfiguration類 繼承于?WebMvcConfigurationSupport 類,從而導致了 WebMvcAutoConfiguration 類沒有生效。?

?WebMvcConfigurationSupport 類沒有添加任何靜態資源的映射。

?

解決方案

對于功能較少的項目,可以使用 @EnableWebMvc 注解,全面接管Spring Boot對SpringMVC的自動注入,自己來寫SpringMVC 運行所需的一些配置,這樣會減少自動注入帶來的一些無意義性能消耗,可以將WebMvcAutoConfiguration自動配置類中addResourceLocations方法代碼直接覆蓋自定義配置類的addResourceLocations方法,即可解決無法訪問/static文件夾下靜態資源的問題;

對于功能較多的項目,使用Spring Boot推薦的對SpringMVC拓展方法 —— 繼承 WebMvcConfigurer 類,這樣不僅可以實現添加WEB組件,也保留了SpringBoot底層的自動注入。

參考文章

https://blog.csdn.net/qq_34369569/article/details/99292925

https://blog.csdn.net/qq_34797335/article/details/80194137

https://blog.csdn.net/qq_36481052/article/details/79075214

https://www.liangzl.com/get-article-detail-132221.html

https://blog.csdn.net/qq_35299712/article/details/80061532

總結

以上是生活随笔為你收集整理的Spring Boot——自定义Web配置类后无法访问/static文件夹下静态资源的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。