在我之前的帖子中“Spring Boot简介”和“Spring Boot组件和内部机制”,我们已经讨论了Spring Boot的基础知识和四个主要的Spring Boot组件的使用。现在我们将选择一个Spring Boot组件:CLI,并对其进行详细讨论。
什么是Spring Boot CLI?
Spring Boot CLI(命令行界面)是一个用于从命令提示符运行和测试Spring Boot应用程序的Spring Boot软件。当我们使用CLI运行Spring Boot应用程序时,它内部使用Spring Boot Starter和Spring Boot AutoConfigurate组件来解决所有依赖关系并执行应用程序。它内部包含Groovy和Grape(JAR依赖管理器)来添加Spring Boot默认值并自动解决所有依赖关系。我们将讨论Windows环境下的CLI安装、CLI设置和CLI命令。其他环境几乎相似。
Spring Boot CLI安装
我們可以使用Windows Installer或Zip文件安裝Spring Boot CLI軟體。兩種方法都很容易安裝,並且都可以提供相同的Spring Boot CLI軟體。我們將使用較簡單的方法,也就是使用Zip文件。我們將使用最新版本的Spring Boot:1.2.3.RELEASE。我們可以在以下網址下載Spring Boot CLI軟體:https://start.spring.io/(這是一個Spring Initilizr Web界面。我們將在以後的文章中詳細討論該組件)。請按照以下步驟在Windows環境中安裝和設置Spring Boot CLI軟體。
- 使用Spring Initilizr下載Spring Boot CLI zip文件。點擊“Download Spring CLI Zip”按鈕,如下所示:
一旦我們將Spring Boot CLI Zip文件下載到本地文件系統中,它看起來像這樣:
-將spring-boot-cli-1.2.3.RELEASE.zip文件解壓縮到本地文件系統中。
-按照下面的步驟在Windows系統中設置Spring Boot CLI環境變數。
set PATH=D:\spring-boot-cli-1.2.3.RELEASE\bin;%PATH%
spring --version
我們可以使用“spring –help”指令來查詢Spring Boot CLI版本,如下所示。
spring --help
現在我們的Spring Boot CLI安裝過程已經成功完成。在討論Spring Boot的“HelloWorld”示例之前,我們首先來看看如何從命令提示字元運行Groovy腳本。
Spring Boot“spring”指令
Spring Boot CLI軟體提供了一個“spring”指令,可以從命令提示字元運行Spring Boot Groovy腳本。正如我們剛才看到的,Spring Boot“spring –help”指令有很多選項,用於不同的目的。這裡我們要使用的一個重要選項是“run”選項。“spring”指令語法:
spring run <SpringBoot-Groovy-Scriptname>
這是一個Spring Boot應用程序的Groovy腳本檔案名稱。我們將使用這個指令來執行我們的Spring Boot HelloWorld示例。現在是時候使用Spring Boot CLI進行簡單的HelloWorld Spring Boot示例了。
Spring Boot HelloWorld範例
現在我們將開發一個Spring Boot MVC RestController範例。這是Pivotal團隊在Twitter上發布的第一個範例,旨在展示Spring Boot框架的強大功能。請按照以下步驟開發Spring Boot HelloWorld範例:
- 在本地文件系統中創建一個名為“HelloWorld”的文件夾,用於放置我們的Groovy腳本。
- 使用以下內容開發一個Groovy腳本文件
@RestController
class HelloWorld {
@RequestMapping("/")
String hello() {
"Hello JournalDev World."
}
}
將此文件命名為HelloWorld.groovy。這裡“.groovy”擴展名是必需的。程式碼解釋
- 使用Spring 4 MVC @RestController註解定義一個REST Controller。
- 使用Spring MVC @RequestMapping註解定義一個映射URL“/”。
- 定義一個方法來返回一個字符串給客戶端或Web瀏覽器。
程式碼觀察 如果我們觀察我們的HelloWorld.groovy,我們可以找到以下重要點。
- 沒有導入語句
- 沒有其他XML配置來定義Spring MVC組件,如視圖、ViewResolver等。
- 沒有web.xml和沒有DispatcherServlet聲明
- 沒有構建腳本來創建我們的應用程序war文件
- 無需建立war檔案來部署此應用程式
那麼是誰來提供我們Spring Boot HelloWorld應用程式所需的所有東西呢?先運行應用程式並查看結果,然後我們再回答這個問題。-現在Spring Boot HelloWorld範例的資料夾看起來像這樣。
現在我們的Spring Boot HelloWorld範例已經準備好,具有Spring MVC RestController。現在是時候運行和測試這個範例,以了解Spring Boot框架的威力。
運行Spring Boot HelloWorld範例
請按照以下步驟測試我們的Spring Boot HelloWorld範例應用程式:
- 在本地檔案系統中的“HelloWorld”資料夾中打開命令提示字元。
- 執行以下命令
spring run HelloWorld.groovy
- 觀察“spring run”命令控制台的輸出。
如果我們在這裡觀察,當我們執行“spring run HelloWorld.groovy”時,它會在預設端口號8080上啟動內嵌的Tomcat伺服器。現在我們的Spring Boot HelloWorld範例應用程式已經運行起來了。現在是測試的時候了。注意:如果我們觀察上面的螢幕截圖,我已經突出顯示了“SpringApplication”類別檔案。這裡的o.s.boot.SpringApplication表示org.springframework.boot.SpringApplication類別。SpringApplication是什麼?SpringApplication的用途是什麼?請參考我即將發布的文章以回答這些問題。- 打開瀏覽器並訪問以下連結。
訪問此URL:https://localhost:8080/
現在我們能夠訪問我們的第一個Spring Boot MVC RESTful Web服務。
如果我們觀察這個Spring Boot應用程式,我們可能會想到這個問題:是誰為我們的Spring Boot HelloWorld應用程式提供所有這些東西的呢?
- 沒有import語句
- 沒有其他XML配置來定義Spring MVC的組件,例如視圖、視圖解析器等等。
- 沒有web.xml和DispatcherServlet聲明
- 沒有構建腳本來創建我們的應用程式war文件
- 不需要構建war文件來部署此應用程式
{
“error”: “Upstream error…”
}
Source:
https://www.digitalocean.com/community/tutorials/spring-boot-cli-setup-and-helloworld-example