二、Spring Boot項目搭建
2.1 建立新項目
- File->New->Project
Spring Boot之(二)Spring Boot項目搭建 - 選擇Spring Initializr->next 上個步驟點選next後出現一直加載的情況時,就需要檢查一下網絡是否連接配接。一般情況下這個加載過程是很快的。
Spring Boot之(二)Spring Boot項目搭建 Spring Boot之(二)Spring Boot項目搭建 - 配置項目中繼資料->next
Spring Boot之(二)Spring Boot項目搭建 - 配置項目依賴->next
Spring Boot之(二)Spring Boot項目搭建 - 配置項目名和項目路徑->finish
Spring Boot之(二)Spring Boot項目搭建 - 選擇打開視窗->this window - 運作預設的HellobootApplication.java測試環境是否搭建成功
Spring Boot之(二)Spring Boot項目搭建 Spring Boot之(二)Spring Boot項目搭建
自此,我們的新項目就建立好了,等待資源加載完畢之後就可以編寫我們的測試代碼啦!
2.2 使用Spring Boot運作jsp頁面(這種視圖方法寫在一般不使用了)
- 在pom.xml檔案中導入運作jsp相關的jar包(目前隻用到這幾個包)
<!--熱部署,在修改代碼時不用重新開機tomcat--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency> <!--編譯運作所需要的jar包--> <!--為了支援JSP視圖--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <!-- servlet依賴 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency>
-
在main目錄下建立一個檔案夾:webapp,接着在webapp檔案夾下建立一個檔案夾:WEB-INF,最後在WEB-INF目錄下建立一個檔案夾:jsp。
這裡主要放jsp頁面,這些檔案夾裡WEB-INF和jsp的名字必須一模一樣!!!
Spring Boot之(二)Spring Boot項目搭建 - 在resource目錄下的application.properties中配置jsp
#配置jsp spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
- 在jsp檔案夾下編寫Hello.jsp
<html> <body> <h2>這是我的第一個Spring Boot程式!</h2> </body> </html>
- 在cn.boot包下建立新的Controller類:MyBoot.java
package cn.boot; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class MyBoot { @RequestMapping("/HelloMyBoot") public String HelloMyBoot(){ return "Hello"; } }
Spring Boot之(二)Spring Boot項目搭建 - 指定視圖預設掃描路徑 項目結構:
Spring Boot之(二)Spring Boot項目搭建 Spring Boot之(二)Spring Boot項目搭建
自此,我們的第一個spring boot項目就搭建成功啦!
2.3 使用thymeleave實作視圖
在使用傳統的jsp頁面實作視圖時,我們需要自己建立相關的webapp等一系列檔案夾,但是在Spring Boot中,給我們提供了一種更為簡便的視圖實作。
- 導入thymeleave相關jar包
<!--springBoot預設支援Thymyleaf--> <!--thymeleaf相關jar包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
-
丢棄原來的application.properties配置檔案,更替成application.yml檔案
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一種标記語言)的遞歸縮寫。在開發的這種語言時,YAML 的意思其實是:“Yet Another Markup Language”(仍是一種标記語言)。
非常适合用來做以資料為中心的配置檔案。
#設定新的端口号為8081 便于區分 server: port: 8081 spring: #thymeleave視圖相關配置 thymeleaf: prefix: classpath:/templates/ suffix: .html mode: LEGACYHTML5 #用非嚴格的 HTML encoding: UTF-8 cache: false
- 建立controller
package cn.boot.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class thymeleafControllrt { @RequestMapping("/toIndex") public String toIndex(){ return "index"; } }
- 将試圖層index.html寫在templates檔案夾下
項目結構:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> thymeleaf... </body> </html>
運作結果:Spring Boot之(二)Spring Boot項目搭建 Spring Boot之(二)Spring Boot項目搭建
注意:
- yml配置檔案是spring boot中新增的一種配置檔案格式,以樹狀結構展示。
- yml配置檔案是以key=value的格式,key之間以“.”進行分割,key和value之間使用“:”進行分割;
- 使用縮進表示層級關系,縮進不允許使用tab,隻允許空格(key和value之間的冒号後必須使用空格);
- 縮進的空格數不重要,隻要相同層級的元素左對齊即可;
- 大小寫敏感;
- 字元串無需加引号,如果要加,‘’ 與 “” 表示字元串内容會被轉義/不轉義。