詳解Spring Boot 目錄文件結(jié)構(gòu)
1.目錄結(jié)構(gòu)
src/main/java:存放代碼
src/main/resources
- resources:(Spring Boot 默認(rèn)的)存放資源文件
- static:(Spring Boot 默認(rèn)的)存放靜態(tài)文件,比如 css、js、image, (訪問(wèn)方式 http://localhost:8080/js/main.js)
- public:(Spring Boot 默認(rèn)的)存放公共文件
- templates:(用戶自己定義的,可以隨便取名,但這里使用公認(rèn)的文件名)存放靜態(tài)頁(yè)面,比如 jsp、html、tpl
- config:(用戶自己定義的,可以隨便取名,但這里使用公認(rèn)的文件名)存放配置文件,比如 application.properties
2.同個(gè)文件的加載順序,靜態(tài)資源文件
Spring Boot 默認(rèn)會(huì)挨個(gè)從 META/resources > resources > static > public 里面找是否存在相應(yīng)的資源,如果有則直接返回。
比如:我們?cè)谶@幾個(gè)文件夾下都新建一個(gè) js 文件,看它會(huì)去加載哪個(gè)文件。
地址欄輸入以下地址:http://localhost:8080/test.js,這里我們沒(méi)有在 resources 文件夾下建 test.js 文件,所以會(huì)去加載 static 文件夾下面的文件
上圖所示,我們新建了一個(gè) templates 文件夾,里面新建了一個(gè) index.html 文件,因?yàn)?templates 不是 Spring Boot 默認(rèn)文件夾,所以我們?cè)L問(wèn)不到這個(gè)文件夾里的文件,即使其他文件夾沒(méi)有同名文件。
要想訪問(wèn),需要引入依賴(注意:如果不引人這個(gè)依賴包,html 文件應(yīng)該放在默認(rèn)加載文件夾里面,比如 resources、static、public 這個(gè)幾個(gè)文件夾,才可以訪問(wèn))
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
寫(xiě)一個(gè)測(cè)試映射
@RequestMapping(value = "/api/v1/gopage") public Object index() { return "index"; }
輸出效果
Spring Boot 給我們定義了一些默認(rèn)資源文件夾及其加載順序,但如果用戶新增了一些自定義文件夾或者是想改變資源文件的加載順序,可以在根目錄下,新建一個(gè) application.properties。
可以自己設(shè)置加載順序,也可以添加自己新增的文件夾,如果用戶自己新增 application.properties,則Spring Boot會(huì)去讀這個(gè)文件來(lái)決定默認(rèn)文件夾及其加載順序
官網(wǎng)說(shuō)明:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content
以上就是詳解Spring Boot 目錄文件結(jié)構(gòu)的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot 目錄文件結(jié)構(gòu)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot應(yīng)用能直接運(yùn)行java -jar的原因分析
這篇文章主要介紹了SpringBoot應(yīng)用為什么能直接運(yùn)行java -jar,首先明確一點(diǎn),普通jar包是不能直接運(yùn)行的,比如工具類jar,要能運(yùn)行,至少得要一個(gè)main函數(shù)作為入口吧?本文給大家介紹了詳細(xì)的原因分析,需要的朋友可以參考下2024-03-03SpringMVC如何把后臺(tái)文件打印到前臺(tái)
這篇文章主要介紹了SpringMVC如何把后臺(tái)文件打印到前臺(tái),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09使用Mybatis遇到的坑之Integer類型參數(shù)的解讀
這篇文章主要介紹了使用Mybatis遇到的坑之Integer類型參數(shù)的解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Java服務(wù)假死之生產(chǎn)事故的排查與優(yōu)化問(wèn)題
在服務(wù)器上通過(guò)curl命令調(diào)用一個(gè)Java服務(wù)的查詢接口,半天沒(méi)有任何響應(yīng),怎么進(jìn)行這一現(xiàn)象排查呢,下面小編給大家記一次生產(chǎn)事故的排查與優(yōu)化——Java服務(wù)假死問(wèn)題,感興趣的朋友一起看看吧2022-07-07Java前端開(kāi)發(fā)框架實(shí)現(xiàn)的流程和代碼示例
我們可以實(shí)現(xiàn)一個(gè)Java前端開(kāi)發(fā)框架,這個(gè)框架包含了初始化、組件渲染、組件更新、事件監(jiān)聽(tīng)和事件觸發(fā)等功能,希望這個(gè)指南能夠?qū)側(cè)胄械男“子兴鶐椭?/div> 2023-10-10Android?Studio中創(chuàng)建java工程的完整步驟
Android?Studio創(chuàng)建java工程是非常麻煩的,因?yàn)锳ndroid?Studio沒(méi)有提供直接創(chuàng)建java工程的方法,下面這篇文章主要給大家介紹了關(guān)于Android?Studio中創(chuàng)建java工程的完整步驟,需要的朋友可以參考下2024-01-01java封裝空值建議使用Optional替代null的方法示例解析
這篇文章主要為大家介紹了java封裝空值建議使用Optional替代null的方法原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11最新評(píng)論