Spring Boot 2.0 的快速入門(圖文教程)
大家都知道,Spring Framework 是 Java/Spring 應用程序跨平臺開發框架,也是 Java EE(Java Enterprise Edition) 輕量級框架,其 Spring 平臺為 Java 開發者提供了全面的基礎設施支持。 雖然 Spring 基礎組件的代碼是輕量級,但其配置依舊是重量級的。
那是怎么解決了呢?當然是 Spring Boot,Spring Boot 提供了新的編程模式,讓開發 Spring 應用變得更加簡單方便。本書將會由各個最佳實踐工程出發,涉及 Spring Boot 開發相關的各方面。下面先了解下 Spring Boot 框架。
1.1 Spring Boot 是什么
Spring Boot (Boot 顧名思義,是引導的意思)框架是用于簡化 Spring 應用從搭建到開發的過程。應用開箱即用,只要通過一個指令,包括命令行java -jar、SpringApplication應用啟動類 、 Spring Boot Maven 插件等,就可以啟動應用了。另外,Spring Boot 強調只需要很少的配置文件,所以在開發生產級 Spring 應用中,讓開發變得更加高效和簡易。目前,Spring Boot 版本是 2.x 版本。
1.1.1 Spring Boot 2.x 特性
Spring Boot 2.x 具有哪些生產的特性呢?常用特性如下:
SpringApplication 應用類
自動配置
外化配置
內嵌容器
Starter 組件
還有對日志、Web、消息、測試及擴展等支持。
SpringApplication
SpringApplication是 Spring Boot 應用啟動類,在main()方法中調用SpringApplication.run()靜態方法,即可運行一個 Spring Boot 應用。簡單使用代碼片段如下:
publicstaticvoidmain(String[] args){
? ? SpringApplication.run(QuickStartApplication.class, args);
}
Spring Boot 運行的應用是獨立的一個 Jar 應用,實際上在運行時啟動了應用內部的內嵌容器,容器初始化 Spring 環境及其組件并啟動應用。也可以使用 Spring Boot 開發傳統的應用,只要通過 Spring Boot Maven 插件將 Jar 應用轉換成 War 應用即可。
自動配置
Spring Boot 在不需要任何配置情況下,就直接可以運行一個應用。實際上,Spring Boot 框架的spring-boot-autoconfigure依賴做了很多默認的配置項,即應用默認值。這種模式叫做 “自動配置”。Spring Boot 自動配置會根據添加的依賴,自動加載依賴相關的配置屬性并啟動依賴。例如,默認用的內嵌式容器是 Tomcat ,端口默認設置為 8080。
外化配置
Spring Boot 簡化了配置,在 application.properties 文件配置常用的應用屬性。Spring Boot 可以將配置外部化,這種模式叫做 “外化配置”。將配置從代碼中分離外置,最明顯的作用是只要簡單地修改下外化配置文件,就可以在不同環境中,可以運行相同的應用代碼。
內嵌容器
Spring Boot 啟動應用,默認情況下是自動啟動了內嵌容器 Tomcat,并且自動設置了默認端口為 8080。另外還提供了對 Jetty、Undertow 等容器的支持。開發者自行在添加對應的容器 Starter 組件依賴,即可配置并使用對應內嵌容器實例。
Starter 組件
Spring Boot 提供了很多 “開箱即用” 的 Starter 組件。Starter 組件是可被加載在應用中的 Maven 依賴項。只需要在 Maven 配置中添加對應的依賴配置,即可使用對應的 Starter 組件。例如,添加spring-boot-starter-web依賴,就可用于構建 REST API 服務,其包含了 Spring MVC 和 Tomcat 內嵌容器等。
開發中,很多功能是通過添加 Starter 組件的方式來進行實現。那么,Spring Boot 2.x 常用的 Starter 組件有哪些呢?
1.1.2 Spring Boot 2.x Starter 組件
Spring Boot 官方提供了很多 Starter 組件,涉及 Web、模板引擎、SQL 、NoSQL、緩存、驗證、日志、測試、內嵌容器,還提供了事務、消息、安全、監控、大數據等支持。前面模塊會在本書中一一介紹,后面這些模塊本書不會涉及,如需自行請參看 Spring Boot 官方文檔。
每個模塊會有多種技術實現選型支持,來實現各種復雜的業務需求:
Web:Spring Web、Spring WebFlux 等
模板引擎:Thymeleaf、FreeMarker、Groovy、Mustache 等
SQL:MySQL 、H2 等
NoSQL:Redis、MongoDB、Cassandra、Elasticsearch 等
驗證框架:Hibernate Validator、Spring Validator 等
日志框架:Log4j2、Logback 等
測試:JUnit、Spring Boot Test、AssertJ、Mockito 等
內嵌容器:Tomcat、Jetty、Undertow 等
另外,Spring WebFlux 框架目前支持 Servlet 3.1 以上的 Servlet 容器和 Netty,各種模塊組成了 Spring Boot 2.x 的工作常用技術棧,如圖 1-1 所示。
圖 1-1 Spring Boot 技術架構
正如白貓黑貓,能抓住老鼠的就是好貓。在上述技術選型中,需要為公司業務的要求和團隊技能選擇最有效最合適的設計方案、架構和編程模型。
1.1.3 Spring Boot 應用場景
Spring Boot 模塊眾多,代表著應用場景也非常廣泛,包括 Web 應用、SOA 及微服務等。在 Web 應用中,Spring Boot 封裝了 Spring MVC 即可以提供 MVC 模式開發傳統的 Web,又可以開發 REST API ,來開發 Web、APP、Open API 各種應用。在 SOA 及微服務中,用 Spring Boot 可以包裝每個服務,本身可以提供輕量級 REST API 服務接口。也可以整合流行的 RPC 框架(Dubbo 等),提供 RPC 服務接口,只要簡單地加入對應的 Starter 組件即可。在微服務實戰中,推薦使用 Spring Cloud,是一套基于 Spring Boot 實現分布式系統的工具,適用于構建微服務。
上面從組件和特性兩方面介紹了 Spring Boot 2.x,下面快速入門去了解 Spring Boot 2.x 的基本用法。
1.2 快速入門工程
在搭建一個 Spring Boot 工程應用前,需要配置好開發環境及安裝好開發工具:
JDK 1.8+
Spring Boot 2.x 要求 JDK 1.8 環境及以上版本。另外,Spring Boot 2.x 只兼容 Spring Framework 5.0 及以上版本。
Maven 3.2+
為 Spring Boot 2.x 提供了相關依賴構建工具是 Maven,版本需要 3.2 及以上版本。使用 Gradle 則需要 1.12 及以上版本。本書使用 Maven 對 Spring Boot 工程進行依賴和構建管理。
IntelliJ IDEA
IntelliJ IDEA (簡稱 IDEA)是常用的開發工具,也是本書推薦使用的。同樣使用 Eclipse IDE,也能完成本書的實踐案例。另外,本書的工程都會在 GitHub 上開源,如需要請自行安裝 Git 環境。
注意:
JDK 安裝、Maven 安裝、Git 安裝和 IntelliJ IDEA 開發工具安裝詳解,見附錄 A
安裝環境雖然耗時,但磨刀不誤砍柴工。下面開發 “Hello Spring Boot” 工程,大致分下面三個步驟:
創建工程
開發工程
運行工程
1.2.1 創建工程 “Hello Spring Boot”
在 IDEA 中,利用 Spring Initializr 插件進行創建名為 chapter-1-spring-boot-quickstart 工程。具體工程創建方式可見 1.3.1 章節。
第一步,打開 IDEA,選擇新建工程按鈕,然后選擇左側欄 Spring Initializr 選項。默認選擇 JDK 版本和 Spring Initializr 的網站地址。如果是封閉式內網開發,也可以搭建一個 Spring Initializr 的內網服務。如圖 1-2 所示。
圖 1-2 創建工程之選擇使用 Spring Initializr
第二步,點擊下一步,輸入 Maven 工程信息。這里對應的 Maven 信息為:
groupId:demo.springboot
artifactId:chapter-1-spring-boot-quickstart
version:1.0
這里還可以設置工程的名稱和描述等,如圖 1-3 所示。
圖 1-3 創建工程之新建工程信息
第三步,點擊下一步,在依賴選擇可視化操作中,下拉選擇 Spring Boot 版本號和勾選工程需要的 Starter 組件和其他依賴。這里選擇 Web 依賴,為了去實現一個簡單的 REST API 服務,即訪問 GET:/hello 會返回 “Hello,Spring Boot!” 的字符串。如圖 1-4 所示。
圖 1-4 創建工程之選擇 Web 依賴
這樣就創建好名為 chapter-1-spring-boot-quickstart 工程,使用 IDEA 提示打開工程即可。
1.2.2 開發工程之 Pom 依賴
在 pom.xml 配置文件中,parent節點配置是 Spring Boot 的 Parent 依賴,代碼如下:
org.springframework.boot spring-boot-starter-parent 2.0.0.RELEASE
spring-boot-starter-parent依賴,是 Spring Boot 提供的一個特殊的 Starter 組件,本身沒有任何依賴。
spring-boot-starter-parent職責,一方面是用于提供 Maven 配置的默認值,即在 Spring Boot 2.x 中設置 JDK 1.8 為默認編譯級別、設置UTF-8編碼等。另一方面,其父依賴spring-boot-dependencies中的dependency-management節點提供了所有 Starter 組件依賴配置的缺省版本值,但不提供依賴本身的繼承。這樣的作用是使用各個組件依賴拿來即用,不需要指定 version 。
因為創建工程時,勾選 Web 依賴,Spring Initializr 會自動添加 Web 依賴,代碼如下:
<!-- Web 依賴 --> org.springframework.boot spring-boot-starter-web
正如上面所說,這里只需要加入 groupId 和 artifactId 即可,不需要配置 version。
1.2.3 開發工程之應用啟動類
在工程 src 目錄中,已經自動創建了包目錄demo.springboot,其包下自動創建了 Spring Boot 應用啟動類,代碼如下:
@SpringBootApplicationpublic classQuickStartApplication{
? ? publicstaticvoidmain(String[] args){
? ? ? ? SpringApplication.run(QuickStartApplication.class, args);
? ? }
}
Spring Boot 應用啟動類,是可以用來啟動 Spring Boot 應用。其包含了?@SpringBootApplication?注解和SpringApplication?類,并調用?SpringApplication?類的?run()?方法,就可以啟動該應用。
@SpringBootApplication 注解
@SpringBootApplication注解用標注啟動類,被標注的類為一個配置類,并會觸發自動配置和 Starter 組件掃描。根據源碼可得,該注解配置了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三個注解,@SpringBootConfiguration注解又配置了@EnableAutoConfiguration。所以該注解的職責相當于結合了@Configuration,@EnableAutoConfiguration和@ComponentScan三個注解功能。
@SpringBootApplication注解的職責如下:
在被該注解修飾的類中,可以用@Bean注解來配置多個 Bean 。應用啟動時,Spring 容器會加載 Bean 并注入到 Spring 容器。
啟動 Spring 上下文的自動配置?;谝蕾嚭投x的 Bean 會自動配置需要的 Bean 和類。
掃描被@Configuration修飾的配置類。也會掃描 Starter 組件的配置類,并啟動加載其默認配置
SpringApplication 類
大多數情況下,在main方法中調用SpringApplication類的靜態方法run(Class, String[]),用來引導啟動 Spring 應用程序。默認情況下,該類的職責會執行如下步驟:
創建應用上下文ApplicationContext實例
注冊CommandLinePropertySource,將命令行參數賦值到 Spring 屬性
刷新應用上下文,加載所有單例
觸發所有CommandLineRunnerBean
在實際開發中如果需要自定義創建高級的配置,可以通過?run(Class, String[])?方法的第二個參數,并以 String 數組的形式傳入。這是?run?幾個重載方法的 API 文檔:
API org.springframework.boot.SpringApplication
static run(Class[] primarySources, String[] args)
返回正在運行的應用上下文ApplicationContext
參數:
primarySources 應用指定的主要類源,數組形式
args 應用參數
static run(Class primarySource, String... args)
返回正在運行的應用上下文ApplicationContext
參數:
primarySource 應用指定的主要類源
args 應用參數
run(String... args)
返回正在運行的應用上下文ApplicationContext
參數:
args 應用參數
1.2.4 開發工程之 Hello 控制層類
在工程中新建包目錄demo.springboot.web,并在目錄中創建名為HelloController的控制層類,代碼如下:
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;
@Controllerpublic class HelloController {
? ? @RequestMapping(value = "/hello",method = RequestMethod.GET)
? ? @ResponseBody
? ? public String sayHello() {
? ? ? ? return "Hello,Spring Boot!";
? ? }
}
上面定義了簡單的 REST API 服務,即?GET:/hello。表示該 Hello 控制層?sayHello()?方法會提供請求路徑為?/hello?和請求方法為 GET 的 HTTP 服務接口。Spring 4.0 的注解?@RestController?支持實現 REST API 控制層。本質上,該注解結合了?@Controller?和?@ResponseBody?的功能。所以將上面?HelloController?可以改造升級成?HelloBookController,代碼如下:
import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;
@RestControllerpublic class HelloBookController {
? ? @RequestMapping(value = "/book/hello",method = RequestMethod.GET)
? ? public String sayHello() {
? ? ? ? return "Hello,《Spring Boot 2.x 核心技術實戰 - 上 基礎篇》!";
? ? }
}
以上核心注解是 Spring MVC 框架的知識點:
@Controller 注解
@Controller對控制層類進行標注,職責是使控制層可以處理 HTTP 請求,簡單可以理解為,使控制層能接受請求,處理請求并響應。
@RequestMapping 注解
@RequestMapping對控制層類的方法進行標注,職責是標明方法對應的 HTTP 請求路由的關系映射。參數 value 主要請求映射地址,可接受多個地址。參數 method 標注 HTTP 方法,常用如: GET,POST,HEAD,OPTIONS,PUT,PATCH,DELETE,TRACE。默認是 GET HTTP 方法,在 GET 請求的情況下,可以縮寫成@RequestMapping(value = "/book/hello")。Spring 4 支持直接使用XXXMapping形式的注解,比如上面代碼可以寫成@GetMapping("/book/hello")。
@ResponseBody 注解
@ResponseBody對控制層類的方法進行標注,職責是指定響應體為方法的返回值。上面代碼中,案例是以字符串的形式返回,自然可以使用其他復雜對象作為返回體。
1.2.5 運行工程
一個簡單的 Spring Boot 工程就開發完畢了,下面運行工程驗證下。
Maven 編譯工程
使用 IDEA 右側工具欄,點擊 Maven Project Tab ,點擊使用下 Maven 插件的install命令。如圖 1-5 所示:
圖 1-5 IDEA Maven 工具欄
或者使用命令行的形式,在工程根目錄下,執行 Maven 清理和安裝工程的指令:
cd chapter-1-spring-boot-quickstart
mvn clean install
在 target 目錄中看到 chapter-1-spring-boot-quickstart-1.0.jar 文件生成,或者在編譯的控制臺中看到成功的輸出:
... 省略
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:30 min
[INFO] Finished at: 2017-10-15T10:00:54+08:00[INFO] Final Memory: 31M/174M
[INFO] ------------------------------------------------------------------------
上面兩種方式都可以成功編譯工程。
運行工程
在 IDEA 中執行QuickStartApplication類啟動,任意正常模式或者 Debug 模式??梢栽诳刂婆_看到成功運行的輸出:
... 省略
2017-10-15 10:05:19.994? INFO 17963 --- [? ? ? ? ? main] o.s.b.w.embedded.tomcat.TomcatWebServer? : Tomcat started on port(s): 8080 (http)
2017-10-15 10:05:20.000? INFO 17963 --- [? ? ? ? ? main] demo.springboot.QuickStartApplication? ? : Started QuickStartApplication in 5.544 seconds (JVM running for 6.802)
打開瀏覽器,訪問 /hello 地址,會看到如圖 1-6 所示的返回結果:
圖 1-6 Hello 頁面
再訪問 /book/hello 地址,會看到如圖 1-7 所示的返回結果:
圖 1-7 Hello Book 頁面
本章工程名為 chapter-1-spring-boot-quickstart,具體代碼見本書對應的 GitHub。
1.3 Spring Boot 工程構建
快速入門中還沒有詳細介紹 Spring Boot 工程構建。工程構建包括創建工程、工程結構和運行工程等。
1.3.1 工程創建方式
Spring Boot Maven 工程,就是普通的 Maven 工程,加入了對應的 Spring Boot 依賴即可。Spring Initializr 則是像代碼生成器一樣,自動就給你出來了一個 Spring Boot Maven 工程。Spring Initializr 有兩種方式可以得到 Spring Boot Maven 骨架工程:
start.spring.io 在線生成
Spring 官方提供了名為 Spring Initializr 的網站,去引導你快速生成 Spring Boot 應用。網站地址為:https://start.spring.io,操作步驟如下:
第一步,選擇 Maven 或者 Gradle 構建工具,開發語言 Java 、Kotlin 或者 Groovy,最后確定 Spring Boot 版本號。這里默認選擇 Maven 構建工具、Java 開發語言和 Spring Boot 2.0.0。
第二步,輸入 Maven 工程信息,即項目組groupId和名字artifactId。這里對應 Maven 信息為:
groupId:demo.springboot
artifactId:chapter-1-spring-boot-quickstart
這里默認版本號 version 為 0.0.1-SNAPSHOT 。三個屬性在 Maven 依賴倉庫是唯一標識的。
第三步,選擇工程需要的 Starter 組件和其他依賴。最后點擊生成按鈕,即可獲得骨架工程壓縮包。如圖 1-8 所示。
圖 1-8 Spring Initializr 在線生成
IDEA 支持 Spring Initializr 生成
IDEA 支持 Spring Initializr 生成,這對于開發來說更進一步的省事,也是推薦的創建工程方式。
第一步,打開 IDEA,選擇新建工程按鈕,然后選擇左側欄 Spring Initializr 選項。默認選擇 JDK 版本和 Spring Initializr 的網站地址。如果是封閉式內網開發,也可以搭建一個 Spring Initializr 的內網服務。
第二步,點擊下一步,輸入 Maven 工程信息。這里對應的 Maven 信息為:
groupId:demo.springboot
artifactId:chapter-1-spring-boot-quickstart
version:1.0
這里還可以設置工程的名稱和描述等。
第三步,點擊下一步,在可視化操作中,下拉選擇 Spring Boot 版本號和勾選工程需要的 Starter 組件和其他依賴。如圖 1-9 所示。
圖 1-9 IDEA 支持 Spring Initializr 生成
1.3.2 工程結構
通過工程創建,得到的工程有默認的結構,其目錄結構如下:
├── pom.xml└── src ├── main │ ├── java │ │ └── demo │ │ └── springboot │ │ └── QuickstartApplication.java │ └── resources │ ├── application.properties │ ├── static │ └── templates └── test └── java └── demo └── springboot └── QuickstartApplicationTests.java
這是默認的工程結構,java 目錄中是編寫代碼的源目錄,比如三層模型大致會新建三個包目錄,web 包負責 web 服務,service 包負責業務邏輯,domain 包數據源服務。對應 java 目錄的是 test 目錄,編寫單元測試的目錄。
resources 目錄會有 application.properties 應用配置文件,還有默認生成的 static 和 templates 目錄,static 用于存放靜態資源文件,templates 用于存放模板文件??梢栽?application.properties 中自定義配置資源和模板目錄。
1.3.3 工程運行方式
上面使用應用啟動類運行工程 “Hello Spring Boot”,這是其中一種工程運行方式。 Spring Boot 應用的運行方式很簡單,下面介紹下這三種運行方式:
1. 使用應用啟動類
在 IDEA 中直接執行應用啟動類,來運行 Spring Boot 應用。日常開發中,會經常使用這種方式啟動應用。常用的會有 Debug 啟動模式,方便在開發中進行代碼調試和 bug 處理。自然,Debug 啟動模式會比正常模式稍微慢一些。
2. 使用 Maven 運行
通過 Maven 運行,需要配置 Spring Boot Maven 插件,在 pom.xml 配置文件中,新增build節點并配置插件 spring-boot-maven-plugin,代碼如下:
<!-- Spring Boot Maven 插件 --> org.springframework.boot spring-boot-maven-plugin
在工程根目錄中,運行如下 Maven 命令來運行 Spring Boot 應用:
# 生成構建信息文件spring-boot:build-info# 幫助信息spring-boot:help# 重新打包spring-boot:repackage# 運行工程spring-boot:run# 將工程集成到集成測試階段,進行工程的聲明周期管理spring-boot:startspring-boot:stop
3. 使用 Java 命令運行
使用 Maven 或者 Gradle 安裝工程,生成可執行的工程 jar 后,運行如下 Java 命令來運行 Spring Boot 應用:
java -jar target/chapter-1-spring-boot-quickstart-1.0.jar
這里運行了 spring-boot-maven-plugin 插件編譯出來的可執行 jar 文件。通過上述三種方式都可以成功運行 Spring Boot 工程,成功運行輸出的控制臺信息如圖 1-10 所示。
圖 1-10 控制臺成功信息
1.4 安裝使用 Spring Boot
在上面工程 “Hello Spring Boot” 中,使用了 Maven 方式去安裝使用了 Spring Boot 。使用 Maven 或 Gradle 安裝是推薦的方式。新的 Java 程序員或從未有過經驗開發 Spring Boot 的開發者,推薦使用 Spring Boot CLI 安裝學習更好。下面簡單介紹下三種方式。
1.4.1 Maven 方式
Maven 是依賴管理的構建工具。類似其他依賴庫使用一樣,在 Maven 配置中加入 Spring Boot 相關依賴配置即可安裝使用 Spring Boot 。Spring Boot 需要 Maven 3.2 及以上版本的支持。具體 Maven 安裝介紹,詳見官網 maven.apache.org。
Spring Boot 依賴使用 org.springframework.boot 作為其項目組 groupId 名稱,Starter 組件的名字 artifactId 以 spring-boot-starter-xxx 形式命名。
注意,如果不想使用 spring-boot-starter-parent 父 Starter 組件,可以將 spring-boot-dependencies 作為工程依賴管理庫,并指定 scope 為 import。代碼如下:
org.springframework.boot spring-boot-dependencies 2.0.0 pom import
1.4.2 Gradle 方式
Gradle 是依賴管理的構建工具。類似 Maven 方式一樣,Spring Boot 需要 Gradle 4 的支持。具體 Gradle 安裝介紹,詳見官網 www.gradle.org。
1.4.3 Spring Boot CLI
Spring Boot CLI 是 Spring Boot Commad Line 的縮寫,是 Spring Boot 命令行工具。在 Spring Boot CLI 可以跑 Groovy 腳本,通過簡單的 Java 語法就可以快速而又簡單的學習 Spring Boot 原型。
Spring Boot CLI 安裝
打開 Spring Boot CLI 下載頁面,地址:https://repo.spring.io/milestone/org/springframework/boot/spring-boot-cli。下載需要的spring-boot-cli-2.0.0-bin.zip 或者 spring-boot-cli-2.0.0-bin.tar.gz 依賴,并解壓到安裝目錄,并指定其 bin 目錄添加環境變量。
比如 Mac 環境下,代碼如下:
export PATH=${PATH}:/spring-boot-cli-2.0.0.RELEASE/bin
比如 Windows 環境下,代碼如下:
set PATH=D:\spring-boot-cli-2.0.0.RELEASE\bin;%PATH%
執行下面指令能輸出對應的版本,用來驗證是否安裝成功,代碼如下:
spring --version
在控制臺中會出現成功的輸出:
Spring CLI v2.0.0
另外,也支持 Homebrew、MacPorts 進行安裝。
使用 Spring Boot CLI
安裝好 Spring Boot CLI 基礎環境后,運行 “Hello Spring Boot” 就更加簡單了,新建 hello.groovy 文件,代碼如下:
@RestControllerpublic classHelloController{
? ? @RequestMapping(value = "/hello")
? ? publicStringsayHello(){
? ? ? ? return "Hello,Spring Boot!";
? ? }
}
然后執行下面指令,進行編譯運行應用:
spring run hello.groovy
也可以,通過--去外化配置屬性值。比如配置端口號為 8081:spring run hello.groovy -- --server.port=9000。等控制臺成功輸出,打開瀏覽器,訪問 /hello 地址,可以得到 "Hello,Spring Boot!" 的結果。
注意:
具體如何使用 Spring CLI,詳見官方使用文檔:docs.spring.io/spring-boot/docs/current/reference/html/cli-using-the-cli.html
1.5 服務器部署方式
基礎環境安裝如上面說的,需要 JDK 環境、Maven 環境等
1.5.1 Win 服務器
推薦使用 AlwaysUp:
使用方式也很簡單:
1.5.2 Linux 服務器
推薦 yum 安裝基礎環境,比如安裝 JDK:
yum -y list java*yum -y install java-1.8.0-openjdk*java -version
安裝 Maven:
yum -y list apache-maven
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
mvn --v
Linux 使用 nohup 命令進行對后臺程序的啟動關閉。
關閉應用的腳本:stop.sh
啟動應用的腳本:start.sh
重啟應用的腳本:stop.sh
1.6 小結
從 Spring Boot 介紹開始,包括特性、Starter 組件以及應用場景,又通過快速入門工程出發,講解了開發 Spring Boot 應用涉及到的 Pom 依賴、應用啟動類以及控制層,然后講解了工程構建周期的創建、結構及運行方式,此外還總結了安裝使用 Spring Boot 的三種方式。