【SpringBoot】快速入門

準Java全棧開發工程師 發表於 2022-06-20
Spring

👉 部落格主頁:準Java全棧開發工程師
👉 00年出生,即將進入職場闖蕩,目標賺錢,可能會有人覺得我格局小、覺得俗,但不得不承認這個世界已經不再是以一條線來分割的平面,而是圍繞財富旋轉的球面,成為有錢人不是為了去掌控球體的轉向,而是當有人惡意掌控時,努力保護好家人和自己。

一、SpringBoot 簡介

  • SpringBoot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化 Spring 應用的初始搭建以及開發過程。
  • 我們在學習 Spring 的時候說過 Spring 框架是為了簡化開發的,而 SpringBoot 是為了簡化 Spring 開發的,由此可見,使用 SpringBoot 開發將會更加的方便簡捷。
  • 那 SpringBoot 是如何簡化開發的呢?我們以一個入門案例來說明。

二、SpringBoot 入門案例

1、建立專案

  • 我使用的 IDEA 版本偏低,可能頁面會有些許不同,但是大體應該還是一致的。

在這裡插入圖片描述

  • 使用 Spring Initializr 需要保證在聯網的情況,但是有時在聯網時也無法成功建立,可以使用下述方式,將網址改為阿里雲的,我就是第一種方式怎麼也建立不了,改用阿里雲之後就可以了。

在這裡插入圖片描述
在這裡插入圖片描述

  • 因為我們是進行 Web 開發,所以我勾選了 Spring Web。之後還可以勾選一些比較使用的開發工具等。

在這裡插入圖片描述

  • 為專案命名。

在這裡插入圖片描述

  • 點選 Finish 建立成功後,專案結構如下圖所示。
    在這裡插入圖片描述

2、編寫 Controller 類

  • 先拋開實體類、資料訪問層和業務邏輯層等內容,我們直接簡單測試一下表現層。
@RestController
@RequestMapping("users")
public class UserController {
    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println("id ==> " + id);
        return "{'msg':'qdxorigin'}";
    }
}
  • 上述程式碼採用了 REST 風格開發,簡單模擬根據 ID 查詢資訊。

3、啟動專案

  • 能夠明顯看到 Spring 的影像,且在載入資訊中看到了和 tomcat 相關的內容,但是我們並沒有配置 tomcat 啊?這就是 SpringBoot 更方便的一點,它內部自己給我們配置了 tomcat ,我們之後都無需再自己配置 tomcat 了。

在這裡插入圖片描述

4、使用 Postman 測試

在這裡插入圖片描述

  • 與此同時,控制檯也獲取到了 ID 值。
    在這裡插入圖片描述

三、SpringBoot VS Spring?

  • 通過練習入門案例,我們發現了,SpringBoot 內部會給我們配置 tomcat ,我們無需再自己配置。
  • 除此之外,在之前的 SSM 開發中,我們會自己在 pom.xml 檔案中手動配置許多依賴,但是在 SpringBoot 中我們並沒有修改 pom.xml 檔案中的任何內容,僅僅在建立專案的時候勾選了 Spring Web,使得 SpringBoot 將我們需要的依賴配置好了。
  • 在整合 SSM 時,我們還手動書寫了許多的配置類,但是 SpringBoot 中這些內容統統都不需要我們自己配置了。
  • SpringBoot 還有許多非常便捷的地方,目前較為明顯的是上述三個優化。

在這裡插入圖片描述

四、在官網中構建工程

  • 進入官網, 官網地址 。劃到後面,找到下圖,點選 Spring Initializr (有沒有感覺很熟悉,在 IDEA 建立專案時是不是也是這個)。
    在這裡插入圖片描述
  • 看到下圖,有沒有感覺和我們使用 IDEA 建立專案時遇到的非常相似啊。其實使用 IDEA 工具建立也會走這一套流程。

在這裡插入圖片描述

  • 在右邊區域新增依賴,搜尋選擇新增的依賴。

在這裡插入圖片描述

  • 同樣會在下面呈現所選擇的依賴。
    在這裡插入圖片描述
  • 全部都完成之後,點選 GENERATE 建立專案。

在這裡插入圖片描述

  • 建立完成之後會生成一個壓縮包,我們可以解壓之後,匯入 IDEA 中開發使用。
    在這裡插入圖片描述
  • 通過瀏覽壓縮包中內容會發現和我們通過 IDEA 建立的專案結構是一模一樣的。

五、打包 SpringBoot 專案

  • 在 pom.xml 檔案中,提供有如下外掛,所以我們可以使用 Maven 的 package 指令打包,完成後會在 target 目錄下生成對應的 jar 包。

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

  • 此時,在 target 資料夾中已經能夠看到 jar 已經打包好了,如果前端人員需要,可以將打包好的 jar 包拷貝給他,他可以直接執行除錯自己的前端程式碼。
  • 前端人員拿到 jar 包後,在該位置輸入 cmd 進入我們常說的小黑框。

在這裡插入圖片描述

  • 輸入 java -jar 命令。

在這裡插入圖片描述

  • 有沒有感覺到一些熟悉,沒錯,這和我們在 IDEA 中呈現的效果是一樣的。
  • 此時我們就可以訪問專案的所有資源了。

六、SpringBoot 是如何實現簡化開發的?

  • 前面說過,SpringBoot 是可以簡化 Spring 應用開發的,通過入門案例我們也能夠明顯的感覺到使用 SpringBoot 框架開發的便利,那麼它是如何簡化開發的呢?
  • 這其中就不免需要介紹兩個非常重要的內容。

1、啟動依賴

  • 通過檢視 pom.xml 檔案中的程式碼,我們不難發現有許多命名為 starter 的依賴。

在這裡插入圖片描述

  • 這些依賴中又引用了許多其他 starter 依賴。

在這裡插入圖片描述

  • 這也就告訴我們,在 SpringBoot 專案中,如果想要使用某個技術,直接匯入相應的 starter 依賴就可以了,配置所需要的內容在該 starter 依賴中都有,給我們節省了很大一部分精力。

2、引導類

  • 當工程建立完成後,都會自動提供一個引導類,該類是程式啟動的入口,當我們想要自動程式時,直接執行 main 方法即可。
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
  • 正式因為有了這些啟動依賴和引導類,我們就能夠專注於業務程式碼,而無需對一些配置工作而耗費精力,簡化開發。

七、切換 Web 伺服器

  • 通常情況下,我們都會使用 tomcat 作為專案的伺服器,但是如果某天我們想要切換自己的伺服器,該如何操作呢?
  • 在此以切換為 jetty 伺服器為例簡單演示下如何操作。
  • 第一步,我們需要將 starter 依賴中自動配置的 tomcat 伺服器排除掉,使其失效。
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  • 此時我們再啟動工程,會發現列印的資訊中找不到和 tomcat 相關的了。

在這裡插入圖片描述

  • 第二步,匯入 jetty 依賴。
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>
  • 此時,再次啟動專案,看到了 jetty 相關列印資訊,說明已經成功切換了伺服器。
    在這裡插入圖片描述

👉 以上就是文章的全部內容啦,諸佬如果有任何建議都可以提哦。
👉 創作不易,如果覺得對您有幫助的話,歡迎關注✨點贊👍收藏📂哦。