江帥帥:精通 Spring Boot 系列 01

奈學教育發表於2020-06-15

attachments-2020-06-pF3C9JWX5ee7419ea519e.jpg

1、Spring Boot 概述


Spring 框架,作為一個非常優秀的輕量級容器,在企業級專案開發中非常受歡迎,但它在使用期間需要整合眾多第三方資源,都會導致配置過於臃腫,這也是令大家非常頭疼的問題。


Spring Boot 的出現,就是為了讓大家更方便去使用 Spring 框架進行開發,它基於“約定優於配置(COC)”的設計理念,它實現了自動化配置解決方案,包括自動配置第三方資源,從而簡化了 Spring 應用的建立、執行、除錯、部署等方便的操作,讓開發者更專注在應用業務的實現上。


其實,Spring Boot 可以想象成一箇中介,它是開發者和 Spring 框架的簡化溝通平臺,有些“手續(應用的配置)”它直接就幫我們辦理好了,這些“手續”其實就是業務流程中某些預設的流程(也就是預設的配置),剛好就是上面說的“約定優於配置”的理念。Sprint Boot 的最終目的,就是為了提升開發者在業務實現上的專注度。


2、Spring Boot 的優勢

  •  繼承了 Spring 框架自身優秀的特性。

  •  能夠讓配置更簡單,透過自動配置快速搭建 Spring 應用專案。 

  •  能夠以 jar 檔案形式獨立執行專案。

  •  更強大的註解,讓業務實現更簡化。 

  •  內嵌了常見的 Web 伺服器,讓你隨時使用 Tomcat、Jetty 等。 

  •  提供了企業生產級專案的服務監控方案,讓監控更加簡單。

  •  還有一些非功能性的通用配置,適應更多的開發需求。

  •  可進行分散式開發,結合 Spring Cloud 進行微服務開發。


3、搭建 Spring Boot 專案


3.1 建立 Maven 專案


第一步:選單欄中選擇 File → New → Project... 彈出下圖,然後選擇 Maven,再點選 Next 即可。

attachments-2020-06-Ebk4OJph5ee7423d548f4.jpg

第二步:填寫組織名稱、模組名稱、專案版本等相關資訊,如下圖:

attachments-2020-06-GZ5zN5uV5ee7424ce5efb.jpg

第三步:選擇專案的儲存位置,如下圖:

attachments-2020-06-4gNDH5FY5ee742817a495.jpg

建立好之後的專案具體目錄,如下圖:

attachments-2020-06-Ksa8m2Qs5ee7429371342.jpg

建立好之後的專案本地資料夾具體目錄,如下圖:

attachments-2020-06-k4bRYRwW5ee742a29752b.jpg

3.2 關於專案中目錄的相關解釋

  • src/main/java:用來儲存編寫好的 Java 原始碼檔案,也就是 xxx.java 檔案。

  • src/main/resources:用來儲存編寫好的配置檔案。

  • src/test/java:主要用來儲存測試用的 Java 原始碼檔案。

3.3 新增配置與程式碼


第1步:編輯 pom.xml 檔案


pom.xml 檔案,全稱專案物件模型(Project Object Model)描述檔案,作為 Maven 的基礎配置檔案,常被用來指定專案中的依賴配置。


接著,我們需要在 pom.xml 檔案中新增相關依賴,具體如下:


首先,使用 <parent> 標籤指定  spring-boot-starter-parent 依賴模組,單從標籤名字上來看,就知道它想指定(繼承)父類級別的東西。


在構建 Spring Boot 應用時設定它,也就意味著會自動包含能簡化我們工作的自動配置、日誌和 YAML 等大量的配置。它作為 Spring Boot 的核心啟動器,提供一些 Maven 預設的配置和 dependency-management,能讓你快速使用 Spring Boot 進行開發。


比如,這裡指定了 parent 的版本號,當我們在引入其他依賴的時候,就不用再去關心它們的版本號了,在以前是需要考慮的,而且還很容易引起版本衝突。

編輯 pom.xml 檔案

<parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>2.2.1.RELEASE</version>

</parent>


如果,我們需要進行 Web 開發,還需要指定 spring-boot-starter-web 依賴模組,需要在 pom.xml 檔案中新增 <dependency…/> 元素來進行指定,具體如下:

指定 web 依賴模組

<dependency>

<groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

</dependency>


最後,還可以透過 <build …/> 元素來新增外掛,比如設定 Spring Boot 的 Maven 外掛 Spring Boot Maven plugin,它能夠為 Spring Boot 應用提供執行 Maven 操作。此外掛,能夠將 Spring Boot 應用進行打包為可執行的 jar 或 war 形式的檔案,然後以通常的方式來執行。具體配置如下:

新增 maven 外掛

<build>

    <plugins>

        <plugin>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-maven-plugin</artifactId>

        </plugin>

    </plugins>

</build>

完整的 pom.xml 檔案,具體如下:

完整的 pom.xml 檔案原始碼

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="

         xmlns:xsi="

         xsi:schemaLocation="

    <modelVersion>4.0.0</modelVersion>


    <groupId>com.nx</groupId>

    <artifactId>SpringDemo</artifactId>

    <version>1.0-SNAPSHOT</version>


    <!-- 指定 parent 版本 -->

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.2.1.RELEASE</version>

    </parent>


    <!-- 指定 web 依賴模組 -->

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

    </dependencies>


    <!-- 設定 maven 外掛 -->

    <build>

        <plugins>

            <plugin>

 <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

</project>


第2步:新增 Controller 類


新建一個 com.nx 的 package,然後新增一個 HelloControler 類,如圖位置:

attachments-2020-06-p4rMxZ1L5ee7433f5eb19.jpg

HelloController 控制器類的程式碼,具體如下:

HelloController 控制器

package com.nx.controller;


import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;


@RestController

public class HelloController {


    @RequestMapping("/hello")

    public String sayHello(){

        return "I Love Spring Boot.";

    }

}


@RestController 註解是一個組合註解,它包含了 @Controller 和 @ResponseBody 兩個註解,說明它能以 JSON 格式進行響應資料。註解的原始碼如下:

@RestController 註解原始碼

@Target({ElementType.TYPE})

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Controller

@ResponseBody

public @interface RestController {

    @AliasFor(

        annotation = Controller.class

    )

    String value() default "";

}


第3步:新增 Spring Boot 啟動類


啟動類的路徑,需要能夠讓 spring boot 掃描得到其他的元件,新增位置:

attachments-2020-06-ke0RASmJ5ee743886d643.jpg

SpringBootApp 啟動類的程式碼,具體如下:

SpringBootApp 啟動類

package com.nx;


import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;


// 用於指定 Spring Boot 應用的啟動類

@SpringBootApplication

public class SpringBootApp {


    public static void main(String[] args) {

        // 從 main 方法中進行啟動 Spring 應用中的類

        SpringApplication.run(SpringBootApp.class, args);

    }

}


3.4 啟動 Spring Boot 專案


有三種啟動方式,具體如下:


  1. 使用 Maven 命令啟動

  2. 執行 main 方法啟動

  3. 使用 Maven 打包啟動


第1種:使用 Maven 命令啟動


使用 Maven 命令:

spring-boot:run

指定專案路徑和 Maven 命令,具體如下

attachments-2020-06-t3MpyyQH5ee743fa8dca3.jpg

attachments-2020-06-J7SSoBr15ee744250bd7c.jpg

第 2 種:執行 main 方法啟動

attachments-2020-06-xZwJeJj65ee74437318e7.jpg

第 3 種:使用 Maven 打包啟動

需要將 Spring Boot 應用打成一個 jar 包執行。

首先,在 IDEA 的右邊欄中,開啟 Maven 即可看到如下頁面,雙擊 package 命令。

attachments-2020-06-UHozANCZ5ee74452af818.jpg

然後,找到專案所在路徑下的 target 資料夾,開啟即可看到生成的 jar 檔案。

attachments-2020-06-i0B61syk5ee7446310847.jpg

最後,透過命令列進入到 jar 檔案所在目錄下,並執行 java -jar 命令。

java -jar .\SpringDemo-1.0-SNAPSHOT.jar

attachments-2020-06-BwXJJzDc5ee74473102a9.jpg

3.5 訪問 Spring Boot 應用


開啟瀏覽器,在位址列中輸入請求地址:

,然後回車進行訪問。
attachments-2020-06-EtZ9layG5ee7448414363.jpg
未完待續,等我下一篇嗷 ~~~


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2698522/,如需轉載,請註明出處,否則將追究法律責任。

相關文章