1. 程式人生 > 其它 >SpringBoot學習筆記(一)——SpringBoot概要與快速入門

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 不需要任何專用的工具來整合,因此您可以使用任何 IDE 或者文字編輯器,並且 Spring Boot 應用也沒什麼特殊之處,因此可以像任何其它 Java 程式一樣執行和除錯。

雖然您可以複製 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://spring.io

官方文件:

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)

(2)、Maven快速學習教程

(3)、Spring

(4)、Spring MVC(IDEA、Maven、SSM框架整合、多模組)

(5)、MyBatis快速學習教程

部落格園文章:

(1)、Spring

(2)、Spring MVC

(3)、MyBatis

(4)、Maven

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、請按順序看完下面的視訊,除錯示例