Spring Boot 目錄文件結構


1.目錄結構

src/main/java:存放代碼

src/main/resources

  • resources:(Spring Boot 默認的)存放資源文件
  • static:(Spring Boot 默認的)存放靜態文件,比如 css、js、image, (訪問方式 http://localhost:8080/js/main.js)
  • public:(Spring Boot 默認的)存放公共文件
  • templates:(用戶自己定義的,可以隨便取名,但這里使用公認的文件名)存放靜態頁面,比如 jsp、html、tpl
  • config:(用戶自己定義的,可以隨便取名,但這里使用公認的文件名)存放配置文件,比如 application.properties

 

 

2.同個文件的加載順序,靜態資源文件

Spring Boot 默認會挨個從 META/resources > resources > static > public 里面找是否存在相應的資源,如果有則直接返回。

比如:我們在這幾個文件夾下都新建一個 js 文件,看它會去加載哪個文件。

地址欄輸入以下地址:http://localhost:8080/test.js,這里我們沒有在 resources 文件夾下建 test.js 文件,所以會去加載 static 文件夾下面的文件

上圖所示,我們新建了一個 templates 文件夾,里面新建了一個 index.html 文件,因為 templates 不是 Spring Boot 默認文件夾,所以我們訪問不到這個文件夾里的文件,即使其他文件夾沒有同名文件。

要想訪問,需要引入依賴(注意:如果不引人這個依賴包,html 文件應該放在默認加載文件夾里面,比如 resources、static、public 這個幾個文件夾,才可以訪問)

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

 寫一個測試映射

@RequestMapping(value = "/api/v1/gopage")  
public Object index() {
  return "index";
}

輸出效果

 

Spring Boot 給我們定義了一些默認資源文件夾及其加載順序,但如果用戶新增了一些自定義文件夾或者是想改變資源文件的加載順序,可以在根目錄下,新建一個 application.properties。

  

可以自己設置加載順序,也可以添加自己新增的文件夾,如果用戶自己新增 application.properties,則Spring Boot會去讀這個文件來決定默認文件夾及其加載順序

spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 

官網說明:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM