六、SpringBoot2.x目錄文件結構講解
簡介:講解SpringBoot目錄文件結構和官方推薦的目錄規範
一、目錄講解
src/main/java:存放代碼
src/main/resources
static: 存放靜態文件,好比 css、js、image, (訪問方式 http://localhost:8080/js/main.js)
templates:存放靜態頁面jsp,html,tpl
config:存放配置文件,application.properties
resources:
二、引入依賴 Thymeleaf
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
注意:若是不引人這個依賴包,html文件應該放在默認加載文件夾裏面,
好比resources、static、public這個幾個文件夾,才能夠訪問
三、同個文件的加載順序,靜態資源文件
Spring Boot 默認會挨個從
META/resources > resources > static > public 裏面找是否存在相應的資源,若是有則直接返回。
四、默認配置
1)官網地址:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content
2)spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
五、靜態資源文件存儲在CDN
新建了幾個文件夾
css
挨個文件夾去查找
這幾個文件夾都有test.js
templates文件夾下的 輸出template
啓動以前先把這裏註釋掉。路徑映射是不徹底匹配,屬於資源文件也可能會映射過來。通常咱們會在路徑前面加一個v1/這種前綴 固定的這樣就不會映射過來了。
啓動咱們的應用
直接輸入test.js.默認輸出的是resources文件夾下的
若是咱們把resurces文件夾的test.js刪掉
再次訪問輸入的是tatic目錄下的
重啓服務。直接訪問index.html訪問不到。找不到文件的映射
這個時候就須要引入一個模板引擎html
pom.xml內引入
再建一個controller映射過去。這裏用Controller的註解 也能夠用restController的註解
@RequestMapping放一個路徑,讓他跳轉到某一個文件夾裏面去。
index就映射到templates下的index.html
啓動應用
贏了映射的路徑訪問到了
java
static下新建images文件夾,而後在裏面新建100.png
statics和resources這兩個目錄,默認在路徑上咱們是不用加進去的。默認是從這倆文件夾裏面查找。
路徑裏面直接輸入子目錄就能夠了
直接輸入css/main.css就訪問到了
圖片直接輸入images/100.png
web
新建test的文件夾,上面複製一個test.js進去
改個名字叫作test3.js
直接訪問是訪問不到的
路徑前面加個test也不行
須要加一個配置文件,複寫配置
新建application.properties這個文件
把這段配置複製過去
後面加上一段:,classpath:/test/
重啓應用
能夠直接訪問到
把內容輸出改爲test3.js
不過通常不多會把資源文件放到這裏,大企業會自建CDN,內容分發
spring