亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

Spring Boot 第一個項目

1. 前言

Spring Boot 可以使用 Maven 構建,遵循 Maven 的項目結構規范,項目結構是模板化的,基本都一模一樣。

模板化的東西可以自動生成,Spring 官方就提供了 Spring Initializr 。它能自動生成 Spring Boot 項目,我們直接導入到開發工具使用即可。

2. 生成 Spring Boot 項目

打開 Spring Initializr 網址 http://start.spring.io ,根據我們項目的情況填入以下信息。

圖片描述

Spring Initializr 生成 Spring Boot 項目

這是第一次接觸 Spring Initializr ,我們來詳細了解界面上選項的作用。

1. 構建方式選擇:此處我們選擇 Maven Project 即可,表示生成的項目使用 Maven 構建。當然我們也可以發現,Spring Boot 項目亦可采用 Gradle 構建,目前 Spring Boot 主流的構建方式還是 Maven;
2. 編程語言選擇:此處選擇 Java 即可;
3. Spring Boot 版本選擇: 2.x 版本與 1.x 版本還是有一些區別的,咱們學習肯定是選擇 2.x 新版本。此處雖然選擇了 2.2.6 版本,但是由于 2.2.6 版本剛推出沒多久,國內一些 Maven 倉庫尚不支持。后面我們手工改為 2.2.5 版本,便于使用國內 Maven 倉庫快速構建項目;
4. 所屬機構設置:Group 表示項目所屬的機構,就是開發項目的公司或組織。因為公司可能會重名,所以習慣上采用倒置的域名作為 Group 的值。例如慕課網的域名是 imooc.com , 此處寫 com.imooc 就行了;
5. 項目標識設置:Artifact 是項目標識,用來區分項目。此處我們命名為 spring-boot-hello ,注意項目標識習慣性地采用小寫英文單詞,單詞間加橫杠的形式。比如 Spring Boot 官方提供的很多依賴,都是 spring-boot-starter-xxx 的形式;
6. 項目名稱設置:Name 是項目名稱,保持與 Artifact 一致即可;
7. 默認包名設置:Package name 是默認包名,保持默認即可;
8. 打包方式選擇:此處選擇將項目打包為 Jar 文件;
9. 添加項目依賴:此處不必修改,我們直接在 pom.xml 中添加依賴更加方便。注意 pom.xml 就是 Maven 的配置文件,可以指定我們項目需要引入的依賴;
10. 生成項目:點擊 Generate 按鈕,即可按我們設置的信息生成 Spring Boot 項目了。

3. Spring Boot 項目結構分析

我們將下載的 zip 壓縮包解壓后導入開發工具,此處以 Eclipse 為例,依次點擊 File-Import-Existing Maven Projects ,然后選擇解壓后的文件夾導入。

圖片描述

Eclipse 導入 Spring Boot 項目

導入后項目結構如下圖,我們逐一分析下他們的用途:

圖片描述

Spring Boot 項目結構
  • 最外層的 spring-boot-wikis 表示工作集(working set),可以理解為項目分類。我們將 Spring Boot 學習項目都放入該工作集下,便于集中查看;
  • spring-boot-hello 是我們指定的項目名稱;
  • src/main/java 是 Java 源代碼目錄,存放我們編寫的 Java 代碼;
  • src/main/resources 目錄是靜態資源目錄,存放圖片、腳本文件、配置文件等靜態資源;
  • src/test/java 目錄是測試目錄,存放測試類。測試是非常重要的,從目錄級別跟源代碼同級,就能看出來測試的重要性;
  • target 目錄存放我們打包生成的內容;
  • pom.xml 是項目的 Maven 配置文件,指定了項目的基本信息以及依賴項,Maven 就是通過配置文件得知項目構建規則的。

Tips: 此處有同學要發問了,不是說好 Spring Boot 沒有配置文件嗎?不要著急,Spring Boot 可以在沒有配置文件時照常運行。但如果需要個性化功能的話,就會用到配置文件了。 Spring Boot 的配置文件使用非常簡單,放心就是了!

4. pom.xml 詳解

大家可能也發現了,到此刻為止,Spring Boot 項目也沒啥新鮮的。都是之前了解過的東西,跟普通的 Maven 項目也沒啥區別。

其實真正的變化在 pom.xml 中,我們馬上打開瞧一瞧。因為 pom.xml 配置比較長,我們從頭到尾分段解釋下。

4.1 Maven 文檔配置

這一段配置代碼,其實是固定的格式,表示當前文檔是 Maven 配置文檔。

實例:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
</project>

4.2 Spring Boot 版本配置

這一段配置代碼,指定使用 Spring Boot 2.2.5.RELEASE 版本 。如果我們要更換 Spring Boot 版本,只需要修改 <version></version> 標簽中間的版本號部分即可。

實例:

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

4.3 項目信息配置

這一段配置代碼,大家看到應該比較眼熟,內容即為之前使用 Spring Initializr 指定的項目信息。其中,groupId 是機構標識、artifactId 是項目標識,version 是版本號,name 是項目名稱,description 是項目的簡單描述。

實例:

	<groupId>com.imooc</groupId>
	<artifactId>spring-boot-hello</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring-boot-hello</name>
	<description>Demo project for Spring Boot</description>

Tips: name 是項目的名稱,不用特別嚴謹。而 artifactId 是用來區分 group 下面的子項目的,需要保證嚴格唯一。一般情況下將 artifactId 和 name 設置成一樣的就可以了。

4.4 依賴配置

接下來,這一段代碼配置,負責指定 Spring Boot 項目中需要的依賴。 Spring Boot 有一些起步依賴,形如 spring-boot-starter-xxx 的樣式。起步依賴整合了很多依賴項,后續我們慢慢了解即可。

實例:

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

Tips: 可以看到上面兩個依賴我們并沒有指定版本號,其實是因為 Spring Boot 2.2.5 已經有默認的依賴項版本號了。這是通過 Maven 父繼承實現的,即 <parent> 標簽配置部分,這個稍作了解即可。

4.5 插件配置

最后的這一段代碼配置,指定了一個插件,用來構建、運行、打包 Spring Boot 項目。

實例:

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

5. 視頻演示

6. 小結

本章先講了 Spring Boot 項目的構建方法,然后大體描述了 Spring Boot 項目的結構和配置文件,讓大家有一個總體的感性認識。

實際使用中, Spring Boot 是高度封裝的,我們開箱即用即可。在學習階段,用不著了解很多的原理。

就像你開汽車,會掛擋就行,不需要知道變速箱是啥工作原理。

框架封裝的目的就是為了傻瓜式使用, Spring Boot 就是這樣的一個傻瓜式工具框架。等哪一天用得很溜了,再去研究原理也不遲。