天天看點

Spring Boot 2.x 實戰--什麼是 Spring Boot?

Spring Boot是 Pivotal 團隊開發的、用于簡化 Spring 應用的開發的開源架構。其通過自動配置和習慣優于配置的理念,使得 Spring Boot 應用程式幾乎不需要繁瑣的 Spring 配置,極大的提高開發效率。

源代碼倉庫:

https://github.com/zhshuixian/learn-spring-boot-2

《Spring Boot 2.X 實戰》(更新中)系列文章将分為如下幾個子產品,本小節将實戰如何建構 RESTful API,并自定義傳回資料和HTTP 傳回碼、以及給 API 接口傳入資料,下一小節将實戰 Spring Boot 整合 Log4j2 與 Slf4j 實作日志列印和輸出到檔案:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

1、Spring Boot

Spring Boot 是快速建立、開發、運作 Spring 應用的開發架構,目的是讓開發者盡可能地減少 Spring 應用的配置,更加注重實際業務代碼的編寫。

Spring Boot 具有如下的特點

  • 無需太多的手動配置,開箱即用,能夠快速建立、運作項目
  • 内嵌 Tomcat 等,可以打包成 jar ,部署運作友善
  • 為許多第三方開發庫提供了幾乎可以零配置的開箱即用的能力,如 Mybatis
  • 提供了名額、健康檢查和外部化配置等特性

1.1 、Spring Boot 2.X 新特性

Spring Boot 2.X 依賴于 Spring Framework 5 架構,是以需要 JDK 8 及以上的版本,同時對 Kotlin 語言有了更好的支援。

  • 基于 Spring Framework 5,Spring 5 的新特性均可以使用
  • 支援 Java 8+、Kotlin、Groovy
  • 支援 Web Flux 和嵌入式 Netty Server
  • 支援各種元件響應式程式設計的自動化配置
  • 更新了第三方依賴元件

1.2、Spring Boot 與 Spring 生态

從根本上來講,Spring Boot 不是對 Spring Framework 的增強和擴充,也不是用來替代 Spring 架構的。其功能就是友善整合、管理 Spring 或者第三方元件,如 Spring Data JPA、Tomcat 、Alibaba Druid 等,實作架構的快速整合和自動配置。可以形象地比喻成萬能膠水,你需要 Spring Data JPA 就把 JPA 粘上你的項目,你要用 Maybatis 就把Maybatis JPA 粘上你的項目即可,而你并不需要編寫太多的整合代碼或者配置,隻需要在依賴管理工具(Maven、Gradle)的配置檔案寫入相應的依賴即可。

Spring Boot 2.x 實戰--什麼是 Spring Boot?

2、搭建開發環境

2.1、OpenJDK

Spring Boot 依賴于 JDK 8 及以上的版本,在本文中選擇 OpenJDK 11。

從 OpenJDK 官網

http://jdk.java.net/archive/

下載下傳對應系統的 OpenJDK 11,解壓和設定

JAVA_HOME

指向你的安裝目錄和把 安裝目錄下的 bin 檔案夾添加到

PATH

變量。目前最新的 OpenJDK 11 是 11.0.2 (build 11.0.2+9)。

Spring Boot 2.x 實戰--什麼是 Spring Boot?

2.2、IntelliJ IDEA Ultimate

IDEA 是功能強大的 Java 開發工具,雖然 IDEA Community 一樣可以用于開發 Spring 應用,但由于沒有原生支援 Spring 應用的開發,IDE 的配置和使用比較麻煩。這裡推薦你使用 IDEA Ultimate 付費版,其對 Spring Boot 應用開發提供良好的支援。Ultimate 提供了 30 天免費試用,同時對教育、開源開發者提供了免費的授權。

IDEA 下載下傳位址

https://www.jetbrains.com/idea/

IntelliJ 教育授權計劃

https://www.jetbrains.com/zh/student/

(隻要提供校園郵箱,國際學生證(ISIC)或是有效的證明檔案來驗證學生身份即可)

IntelliJ 開源項目申請免費授權

https://www.jetbrains.com/shop/eform/opensource

(項目負責人或項目核心貢獻者)

3、建立 Spring Boot 項目

本文示例項目選用 Gradle,如果你使用的是 Maven,你可以手工建立一個基于 Maven 的 Spring Boot 項目,把 pom.xml ,mvnw,mvnw.cmd,.mvn 這些檔案拷貝到示例項目中,然後在 IDEA 初始化導入 Maven 項目,并把相關依賴包補齊。

3.1、 建立項目

打開 IDEA,點選“Create New Project”建立新的項目:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

選擇“Spring Initializr”,確定“Project SDK”要選擇大于 JDK 8 的版本(點選“New”可以選擇剛剛配置的 OpenJDK 11 的目錄),點選“Next”:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

“Type”選擇 Gradle(如果你想使用 Maven 則更改即可,其他不變),“Language”選擇 Java,“Packaging”打包方式選擇 Jar,“Java Version” 需要和你選擇的 JDK 版本一緻,點選 Next:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

添加“Spring Web ”依賴,Spring Boot 版本在示例中選擇 2.2.4,然後Next:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

選擇 Project 存儲目錄等,更改完成後直接 Finlsh 完成項目的建立,IDEA 會自動打開此項目:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

打開項目後,IDEA 的右下角會出現“Gradle/Maven projects need to be imported”提示,點選 “Enable Auto-Import 即可”:

Spring Boot 2.x 實戰--什麼是 Spring Boot?

3.2、配置國内鏡像

Gradle 和Apache Maven 是自動化建構工具,用于管理項目的依賴、編譯、打包、文檔等資訊。如果你想在項目添加其他依賴,可以在此網站

https://mvnrepository.com/

查詢所依賴包的 Maven 或者 Gradle 的依賴配置資訊,把它複制到 pom.xml 檔案的

<dependencies></dependencies>

元素或者 build.gradle 檔案的

dependencies { }

中即可。

IDEA 在建立項目的時候會自動下載下傳相應的自動化建構軟體和依賴,有時候由于網絡原因,無法下載下傳相關的資源等,需要手動下載下傳和配置使用國内的鏡像。

3.2.1、Gradle 項目

Gradle 項目使用 build.gradle 檔案管理項目依賴、編譯和打包等資訊。建立項目可能會遇到的問題有 Gradle 無法下載下傳、相關依賴包無法下載下傳。

Gradle無法下載下傳:

先使用 IDEA 打開 gradle 項目,會自動在

GRADLE_USER_HOME

建立相應的存放目錄,

GRADLE_USER_HOME

預設是使用者個人目錄下的 .gradle 檔案夾。如果 Gradle 下載下傳緩慢或者無法下載下傳的時候,可以使用如下方式手動下載下傳。

打開項目的 gradle/wrapper/gradle-wrapper.properties 檔案,将 distributionUrl 的連結複制到浏覽器下載下傳:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip           

以 gradle-6.0.1-all.zip 為例,将下載下傳的檔案複制如下目錄,重新打開項目即可:

GRADLE_USER_HOME/wrapper/dists/gradle-6.0.1-all/99d3u8wxs16ndehh90lbbir67           

使用阿裡雲鏡像

修改項目的 build.gradle 檔案,将 repositories 中的内容修改為如下,然後重新運作 Gradle:

repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    mavenCentral()
}           
3.2.2 Maven 項目

Maven 使用 pom.xml 來管理項目的依賴、編譯和打包等資訊。

安裝Maven 下載下傳位址

http://maven.apache.org/download.cgi

,你需要下載下傳 Binary 二進制壓縮包,解壓到你的安裝目錄,并設定

M2_HOME

指向你的安裝目錄和把安裝目錄下的 bin 檔案夾添加到

PATH

變量,配置完成後,可以在控制台輸入指令查詢是否安裝成功:

mvn -v           

打開

M2_HOME/conf/settings.xml

,将

<mirrors>

标簽裡的内容修改為如下:

<mirrors>
        <mirror>
            <id>aliyun</id>
            <name>aliyun Maven</name>
            <mirrorOf>*</mirrorOf>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
  </mirrors>           
Spring Boot 2.x 實戰--什麼是 Spring Boot?

IDEA 設定 Maven home directory 打開 IDEA 設定,“Build,Execution,Deployment”-->“Build Tools”-->“Maven”,将 “Maven home directory” 設定為你的

M2_HOME

目錄,“User settings file”修改為剛剛修改的那個 settings.xml 檔案。

本小節主要介紹了 Spring Boot 和如何建立 Spring Boot 的項目。下一節内容将介紹如何運作 Spring Boot 項目并編寫一些簡單的 RESTful API。

我是小先,一個專注大資料、分布式技術的非斜杠青年,愛Coding,愛閱讀、愛攝影,更愛生活!