第2講 搭建基於Spring Boot的框架

通過第1講的學習,相信大家都能搭建一個最簡單的基於Spring Boot的應用框架。本章,我們繼續學習Spring Boot框架的搭建,讀者將會學習其他幾種快捷的框架搭建方式,在實際應用中,讀者可以根據自己的喜好選擇適合的框架搭建方式。

Spring Boot CLI的使用

Spring Boot CLI簡介

Spring Boot CLI,全稱 Spring Boot Command Line Interface,它是一個命令行工具,如果您想快速開發Spring應用程序,可以使用它。它允許您運行Groovy腳本(當然,Java代碼也是支持的)。您還可以引導一個新項目或編寫自己的命令。

Spring Boot CLI的安裝

Spring Boot CLI是一個命令行工具,在使用之前,我們應先安裝它,它的安裝方式有幾種,接下來,我們將分別介紹這幾種方式。

Windows系統手動安裝

Spring Boot官方在其倉庫上提供了安裝包,其下載鏈接是:https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.2.1.RELEASE/spring-boot-cli-2.2.1.RELEASE-bin.zip,下載完成後解壓之,如圖2-1所示。
在這裏插入圖片描述

圖2-1 Spring Boot CLI目錄

然後設置環境變量,如圖2-2所示。
在這裏插入圖片描述

圖2-2 設置Spring Boot CLI環境變量

這樣Spring Boot CLI就安裝完成了。接下來,我們打開cmd命令行,輸入下述命令可以查看當前Spring Boot CLI的版本。

spring --version

如圖2-3所示。
在這裏插入圖片描述

圖2-3 查看Spring Boot CLI的版本號

Linux系統通過SDKMAN安裝

Spring Boot CLI同樣支持通過SDKMAN來安裝。

SDKMAN,全稱The Software Development Kit Manager,即軟件開發工具管理器,通過使用它,我們可以管理很多不同版本的二進制SDK,當然也包括Spring Boot CLI。
SDKMAN主要安裝到Unix/Linux內核的操作系統中。

在安裝Spring Boot CLI之前,我們應先安裝SDKMAN,Linux系統下依次執行命令:

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

即可完成安裝。

我們可以通過輸入命令:

sdk version

來查看當前SDKMAN的版本號,如圖2-4。
在這裏插入圖片描述

圖2-4 SDKMAN安裝界面

接下來,我們就可以愉快地安裝Spring Boot CLI了。

在終端輸入命令:

sdk install springboot

即可方便地安裝它。

安裝完成後可以查看Spring Boot CLI的版本號:

spring --version

如果提示:JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME.說明未設置JAVA_HOME,需要設置。
設置方法請自行百度,這裏不再詳細說明。

MACOS上安裝Spring Boot CLI

考慮到有些讀者使用的事MACOS,本章也介紹如果在MACOS上安裝Spring Boot CLI。

使用過MACOS的同學應該都知道我們安裝一些軟件可以通過Homebrew來安裝,Spring Boot CLI也可以用該命令來安裝,依次輸入如下命令即可。

brew tap pivotal/tap
brew install springboot

Homebrew默認將Spring Boot CLI安裝到/usr/local/bin目錄下。

如果安裝失敗,可以嘗試先執行命令:brew update,再重試。

Spring Boot CLI快速啓動應用

通過Spring Boot CLI,我們可以快速啓動一個基於Spring Boot的Web應用。

我們可以使用Groovy腳本或者Java來編寫啓動控制器。

首先創建一個名爲hello.groovy的文件,並編寫下述代碼:

@RestController
class HelloController{
	
	@RequestMapping("index")
	String index(){
		"Hello World!"
	}
}

然後打開CMD命令行工具,進入hello.groovy文件所在目錄,執行命令:

spring run hello.groovy

第一次運行Spring Boot CLI會下載依賴包,啓動可能會慢一點,稍等片刻將啓動成功,如圖2-5所示。
在這裏插入圖片描述

圖2-5 Spring Boot CLI啓動界面

瀏覽器訪問http://localhost:8080/index,可以看到如圖2-6所示界面。
在這裏插入圖片描述

圖2-6 運行效果

如果讀者對Groovy腳本不熟悉,我們同樣可以使用Java語言來編寫,創建名爲hello.java的文件,並編寫下述代碼:

@RestController
public class HelloController{
	
	@RequestMapping("index")
	public String index(){
		return "Hello World!";
	}
}

運行命令:

spring run hello.java

其運行效果同圖2-5和圖2-6一致。

在上述命令中,Spring Boot CLI默認啓動端口爲8080,我們可以通過設置命令參數來改變啓動端口,其命令如下:

spring run hello.groovy -- --server.port=8888

注意:上述命令爲4個短橫線,兩兩爲一組,空格分開。

Spring Boot CLI搭建框架

在上一節,我們可以通過Spring Boot CLI輕鬆啓動一個應用,Spring Boot CLI的功能僅限於此嗎?答案是否定的。在一個實際的項目中,業務功能可能會非常多,只是通過Spring Boot CLI來啓動一個應用,對於一個真正的應用來說是遠遠不夠的。

存在即合理。Spring Boot官方提供了這樣一個命令行工具,目的就是讓我們可以快速的搭建應用框架,而我們作爲開發人員來說,只需要關心業務細節,而無需將精力過多的放在Spring Boot的框架搭建上。

本節,我將帶領讀者一起來見證Spring Boot CLI的強大之處。

Spring Boot CLI命令行工具爲我們提供了非常多的命令,在上一節我們已經知道了run命令,我們還可以通過init命令來構建一個項目,執行命令如下:

spring init --dependencies=web first-project

其中dependencies後面可以設置需要依賴的Spring Boot Starter包,關於Starter我將在第4講詳解,這裏讀者只要知道它是Spring Boot的官方依賴包即可。
web表示依賴Spring MVC包,該包的全名爲spring-boot-starter-web,由此可見,其指定的包名只需要輸入spring-boot-starter-後面的名字即可。
關於Spring Boot有哪些官方包,讀者可以通過訪問:添加鏈https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/appendix-dependency-versions.html#appendix-dependency-versions接描述來查找。
讀者還可以通過輸入命令:spring init --list來查找所有可用依賴包。

稍等片刻,項目將創建完成,如圖2-7。
在這裏插入圖片描述

圖2-7 Spring Boot CLI初始化項目界面

我們用IDEA導入剛剛創建好的項目,如圖2-8所示。
在這裏插入圖片描述

圖2-8 IDEA項目示例

在左邊的項目欄裏可以依次打開src/main/java,找到應用啓動類:DemoApplication,啓動裏面的main方法即可。

我們可以看到Spring Boot CLI給我們創建的項目,默認GroupId爲com.example,默認的Spring Boot版本號爲2.2.2.RELEASE,其實這些都是可以指定的,表2-1展示了init命令的主要參數說明。

參數 描述 默認值
artifactId 項目構建ID demo
bootVersion Spring Boot版本 最新版本(目前是2.2.2.RELEASE)
description 項目描述,如果有空格則加上雙引號,如:-- description “demo project” Demo project for Spring Boot
groupId 項目的組織ID com.example
javaVersion 語言版本 1.8
language 項目使用的語言 java
name 項目名 demo
packageName 啓動類所在包名 com.example.demo
packaging 項目的編譯包類型 jar
type 項目類型,可選值有:maven-project、mave-build、gradle-project、gradle-build maven-project
version 項目的版本號 0.0.1.SNAPSHOT
表2-1 init命令參數說明

除了init和run命令外,Spring Boot CLI還提供其他許多命令,通過輸入:

spring

命令即可查看。表2-2展示了Spring Boot CLI所支持的命令及其功能。

命令 描述
run 運行一個 Spring Groovy 腳本(同樣支持 Java 代碼)
grab 下載一個 Spring Groovy 腳本的相關依賴到 ./repository 目錄
jar 將一個 Spring Groovy 腳本打包成一個可執行的 jar 文件
war 將一個 Spring Groovy 腳本打包成一個可執行的 war 文件
install 安裝依賴到 lib/ext 目錄
uninstall 從 lib/ext 目錄卸載依賴
init 從 Spring Initializr(start.spring.io)初始化一個新的項目
encodepassword
shell 使用 Spring Security 加密一個密碼
表2-2 Spring Boot CLI命令

下面以jar命令爲例來演示其用法。

jar命令允許我們將一個Spring Groovy腳本或者Java代碼打包成一個可執行的jar文件。執行命令:

spring jar hello.jar hello.groovy

即可。稍等片刻,Spring Boot CLI就爲我們生成了一個名爲hello.jar的可執行文件。執行命令:

java -jar hello.jar

同樣可以啓動應用,如圖2-9。
在這裏插入圖片描述

圖2-9 運行效果

通過 Spring Boot CLI,一切都變得簡單,通過 IDEA 搭建 Spring Boot 應用,需要新建項目,新建 Module,添加依賴包,添加啓動類,而這一切,Spring Boot CLI 一個命令即可完成。我們不再關心框架如何搭建的,只需要專心編寫代碼即可。

通過官網下載

通過官網下載搭建好的項目框架,我認爲是最簡答的方式,訪問官網:https://start.spring.io/,如圖2-10。
在這裏插入圖片描述

圖2-10 官網項目搭建界面

依次輸入Group、Artifact、Options、Dependencies,然後點擊Generate按鈕就可快速生成基於Spring Boot的項目。

通過IDEA自動搭建

如果讀者安裝的IDEA是收費版(或者破解版),則IDEA提供了自動構建Spring Boot框架的功能。

打開IDEA,依次點擊File->New->Project,將彈出如圖2-11所示界面。
在這裏插入圖片描述

圖2-11 IDEA界面示例

我們選中Spring Initializr,點擊Next,同上一節一樣,輸入必要的信息,連續點擊Next,最後Finish,即可完成框架的搭建。

發佈了107 篇原創文章 · 獲贊 215 · 訪問量 40萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章