SpringBoot學習筆記(一)——SpringBoot概要與快速入門
一、Spring Boot概要
沒有Spring Boot開發專案時各框架間的整合(如SSM)非常繁瑣,相容性問題處理麻煩,開發效率低。
1.1、Spring Boot 簡介
使用 Spring Boot 可以很容易地創建出能直接執行的獨立的、生產級別的基於 Spring 的應用。我們對 Spring 平臺和第三方類庫有自己的考慮,因此您可以從最基本的開始。大多數 Spring Boot 應用只需要很少的 Spring 配置。
您可以使用 Spring Boot 來建立一個可以使用 java -jar
命令來執行或者基於傳統的 war 包部署的應用程式。我們還提供了一個用於執行 spring scripts 的命令列工具。
我們的主要目標是:
- 為所有 Spring Boot 開發提供一個更快、更全面的入門體驗。
- 堅持自我雖好,但當需求出現偏離,您需要能迅速擺脫出來。
- 提供大量非功能性特性相關專案(例如:內嵌伺服器、安全、指標、健康檢查、外部配置)。
- 絕對沒有程式碼生成,也不要求 XML 配置。
SpringBoot提供了一種快速使用Spring的方式,基於約定優於配置的思想,可以讓開發人員不必在配置與邏輯業務之間進行思維的切換,全身心的投入到邏輯業務的程式碼編寫中,從而大大提高了開發的效率,一定程度上縮短了專案週期。2014 年 4 月,Spring Boot 1.0.0 釋出。Spring的頂級專案之一(https://spring.io
1.2、Spring Boot特性
Spring Boot包含以下幾個特性:
(1)、預設提供了大部分框架的使用方式,方便進行快速集
(2)、Spring Boot應用可以獨立執行,符合微服務的開發理念
(3)、Spring Boot內建WEB容器,無需部署WAR包即可執行
(4)、提供了各種生產就緒型功能,如指標,健康檢查和外部配置
(5)、Spring Boot通過網站提供了專案模板,方便專案的初始化
Spring Boot 相容 Apache Maven 3.2 或更高版本。如果您還沒有安裝 Maven,可以到 maven.apache.org
您可以跟使用任何標準 Java 庫的方式一樣使用 Spring Boot。只需要在 classpath 下包含相應的 spring-boot-*.jar
雖然您可以複製 Spring Boot 的 jar 檔案,但我們通常建議您使用支援依賴管理的構建工具(比如 Maven 或者 Gradle)。
您可以將 Spring Boot 應用部署到任何一個 Servlet 3.0+ 相容容器中。
雖然您可以在 Java 6 或者 Java 7 上使用 Spring Boot,但我們還是強烈推薦您使用 Java 8+。
1.3、Spring Boot資源
官網:
https://spring.io/projects/spring-boot
官方文件:
https://docs.spring.io/spring-boot/docs/current/reference/html/
官方文件翻譯:
https://www.springcloud.cc/spring-boot.html
http://felord.cn/_doc/_springboot/2.1.5.RELEASE/_book/
https://github.com/DocsHome/springboot
banner生成:
https://www.bootschool.net/ascii
1.4、前置學習內容
視訊bilibili:
(1)、Java程式設計(JavaSE、JavaWeb、反射、泛型、多執行緒、AJAX)
(4)、Spring MVC(IDEA、Maven、SSM框架整合、多模組)
部落格園文章:
1.5、其它說明
(1)、本教程有許多內容來自網際網路,如果侵害了您的版權我將迅速處理
(2)、本教程僅針對有一定基礎的Java學習或開發者,聽課的物件是全棧開發班的學員,僅需使用Spring Boot開發可以提供給前端的後臺服務即可,如果您想精通Spring Boot可能不適合您
(3)、教學全程都會錄視訊,釋出在bilibili,請搜尋“張果1”
(4)、該教程使用Spring Boot2
(5)、開發工具使用IDEA,Java版本是1.8
二、我的第一個SpringBoot程式
2.1、生成專案模板
2.1.1、線上生成專案模板
為方便我們初始化專案,Spring Boot給我們提供一個專案模板生成網站。
(1). 開啟瀏覽器,訪問:https://start.spring.io/
(2). 根據頁面提示,選擇構建工具,開發語言,專案資訊等。
(3). 點選 Generate the project,生成專案模板,生成之後會將壓縮包下載到本地。
當然,也可以線上預覽專案生成後的程式碼,只需點選如下按鈕即可:
在新視窗中就可以檢視生成的程式碼了:
(4). 使用IDE匯入專案,我這裡使用IDEA,通過匯入Maven專案的方式匯入。
選擇Maven專案:
多數情況下都直接Next就可以了,匯入成功的專案如下所示:
2.1.2、IDE(整合開發工具)生成專案模板
(1)、建立新專案
(2)、選擇Spring Initializr
(3)、選擇填寫專案資訊
(4)、新增依賴
(5)專案位置與名稱設定
點選完成就建立成功。
2.2、新增控制器
在“com.gdnf.hello”這個包下面新增一個類取名“HelloController”:
新增一個Action,並註解好:
package com.gdnf.hello; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController //註解告訴Spring將結果字串直接呈現給呼叫者 public class HelloController { @RequestMapping("/hi") //路徑對映 public String hello(){ return "Hello Spring Boot!"; } }
新增成功後:
2.3、啟動並執行
點選右上角綠色箭頭就可以直接運行了,如要埠被佔用(預設8080),可以配置修改,控制檯資訊如下:
在瀏覽器中輸入:localhost:8081/hi就可以訪問到定義到的action,如下所示
三、SpringBoot專案組成
3.1、預設目錄結構
剛建立好的Spring Boot的專案結構比較簡單,只包含三個資料夾。
src/main/java 放置程式開發程式碼
src/main/resources 放置配置檔案
src/test/java 放置測試程式程式碼
而在其下,包含以下主要檔案。
xxxApplication.java 應用的啟動類,包含MAIN方法,是程式的入口
application.properties 一個空的配置檔案,後續可以配置資料來源等資訊,比如修改埠號
xxxApplicationTests.java 一個簡單的單元測試類
pom.xml mave的配置檔案,是管理整個專案開發流程的核心檔案
3.2、註解與程式碼
3.2.1、@RestController和@RequestMapping 註解
Example
類的第一個註解是@RestController
。這被稱為 構造型註釋。它為閱讀程式碼的人提供了提示,併為Spring提供了該類扮演特定角色的提示。在這種情況下,我們的類是一個web @Controller
,所以Spring在處理傳入的Web請求時會考慮它。
@RequestMapping註解
提供“路由”資訊。它告訴Spring任何帶有/
路徑的HTTP請求都應該對映到home
方法。
@RestController
註解告訴Spring將結果字串直接呈現給呼叫者。
@RestController的作用等同於@Controller + @ResponseBody
3.2.2、@EnableAutoConfiguration註解
第二個類級別註釋是@EnableAutoConfiguration。這個註釋告訴Spring Boot根據你新增的jar依賴關係“猜測”你想要如何配置Spring。由於spring-boot-starter-web添加了Tomcat和Spring MVC,因此自動配置假定您正在開發Web應用程式並相應地設定Spring。
Starters和自動配置
自動配置旨在與“Starters”配合使用,但這兩個概念並不直接相關。您可以自由選擇並在首發之外選擇jar依賴項。Spring Boot仍然盡力自動配置您的應用程式。
3.2.3、main方法
我們的應用程式的最後一部分是main
方法。這只是遵循應用程式入口點的Java約定的標準方法。我們的主要方法是通過呼叫run
來委託Spring Boot的SpringApplication
類。SpringApplication
引導我們的應用程式,從Spring開始,然後啟動自動配置的Tomcat Web伺服器。我們需要將Example.class
作為引數傳遞給run
方法,以告訴SpringApplication
哪個是主要的Spring元件。還會傳遞args
陣列以公開任何命令列引數。
四、專案實戰(見任務指導手冊)
4.1、完成小米商城後臺管理系統,實現功能如下:
- 後臺登入
- 修改密碼
- 使用者管理(CRUD)
- 管理員管理(CRUD)
- 商品型別管理(CRUD)
- 商品管理(CRUD)
- 訂單管理(CRUD)
4.2、完成小米商城PC端動態化,所有資料來自資料庫,消費後端向前端提供的服務
- 商品展示
- 登入
- 新增商品到購物車
- 購買
- 訂單管理
4.3、完成小米商城移動端動態化,所有資料來自資料庫,消費後端向前端提供的服務
- 商品展示
- 登入
- 新增商品到購物車
- 購買
- 訂單管理
五、作業
5.1、配置好Spring Boot開發環境。
5.2、完成第一個Spring Boot程式,要求如下:
- 編寫後臺服務接收前端提交的引數,n1,n2
- 前端使用vue與axios消費後臺提供的服務,將響應回前臺的資料填寫在文件框n3中
5.3、建立小米商城的資料庫,參考表結構如下:
1、商品型別表
編號,名稱,狀態,父節點...
2、商品表
編號,名稱,價格,詳細,海報,庫存,狀態,上貨日期...
3、使用者表
編號,使用者名稱,姓名,密碼,手機,郵箱,線上狀態...
4、訂單表
編號,訂單號,下單日期,訂單狀態,使用者編號,總價,地址/地址編號,留言
5、訂單商品表
編號,訂單號,商品編號,價格
6、收貨地址表
編號,使用者編號,國家,省,市,縣(區),街道/鄉鎮,地址,郵編,電話,收貨人,是否為預設地址...
5.4、請按順序看完下面的視訊,除錯示例