Spring Boot 參考指南(安裝 Spring Boot)

10. 安裝Spring Boot

Spring Boot能夠與「經典」Java開發工具一塊兒使用,也能夠做爲命令行工具安裝。不管哪一種方式,都須要Java SDK v1.8或更高版本。在開始以前,你應該使用如下命令檢查當前的Java安裝:html

$ java -version

若是你是Java開發新手,或者你想嘗試使用Spring Boot,那麼你可能想先嚐試一下Spring Boot CLI(命令行接口)。不然,請繼續閱讀「經典」安裝說明。java

10.1 Java開發人員的安裝說明

你可使用與任何標準Java庫相同的方式使用Spring Boot,爲此,在類路徑上包括適當的spring-boot-*.jar文件。Spring Boot不須要任何特殊的工具集成,所以你可使用任何IDE或文本編輯器。另外,Spring Boot應用程序沒有什麼特別之處,所以你能夠像其餘Java程序同樣運行和調試Spring Boot 應用程序。git

儘管你能夠複製Spring Boot jar,可是咱們一般建議你使用一個支持依賴管理的構建工具(好比Maven或Gradle)。github

10.1.1 Maven 安裝

Spring Boot與Apache Maven 3.2或以上兼容,若是你沒有安裝Maven,則能夠按照maven.apache.org的指示執行。web

在許多操做系統中,可使用安裝包安裝Maven。若是你使用OSX Homebrew,嘗試 brew install maven,Ubuntu用戶能夠運行 sudo apt-get install maven。使用 Chocolatey的Windows用戶能夠從一個高級(管理員)提示符中運行 choco install maven

Spring boot依賴使用org.springframework.boot groupId,一般Maven POM文件從spring-boot-starter-parent項目繼承,並向一個或多個「starter」聲明依賴關係,Spring Boot還提供了一個可選的Maven插件來建立可執行的jar。spring

下面的清單顯示了一個典型的pom.xml文件:shell

<?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
http://maven.apache.org/xsd/maven-4.0.0.xsd">     
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>myproject</artifactId> 
  <version>0.0.1-SNAPSHOT</version>
  <!-- Inherit defaults from Spring Boot -->
  <parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId>                                       
    <version>2.0.5.RELEASE</version>
  </parent>
  <!-- Add typical dependencies for a web application -->
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId> 
    </dependency>
  </dependencies>
  <!-- Package as an executable jar -->
  <build>
   <plugins>
     <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId>
     </plugin>
   </plugins>
  </build>
</project>
Spring-Boot-starter-parent是一個使用Spring boot的好方法,可是它可能不適合全部,有時你可能須要從另外一個父POM繼承,或者你可能不喜歡咱們的默認設置。在這些狀況下,請參見 「13.2.2章節,使用沒有父POM的Spring Boot」,以尋找使用 import範圍的替代解決方案。

10.1.2 Gradle安裝

Spring Boot與Gradle 4兼容,若是你尚未安裝Gradle,你能夠按照gradle.org上的說明進行操做。apache

Spring Boot依賴項能夠經過使用org.springframework.boot group來聲明。一般,你的項目聲明依賴於一個或多個「Starters」,Spring Boot提供了一個有用的Gradle插件,它能夠用來簡化依賴項聲明並建立可執行的jar。segmentfault

Gradle Wrapper

當你須要構建一個項目時,Gradle Wrapper提供了一種「獲取」Gradle的好方法。它是一個小腳本和庫,你能夠將其與代碼一塊兒提交以引導構建過程。有關詳細信息,請參閱docs.gradle.org/4.2.1/userguide/gradle_wrapper.htmlwindows

下面的示例展現了一個典型的build.gradle文件:

plugins {
 id 'org.springframework.boot' version '2.0.5.RELEASE' 
 id 'java'
}


jar {
 baseName = 'myproject' 
 version = '0.0.1-SNAPSHOT'
}

repositories {
 jcenter()
}

dependencies { 
 compile("org.springframework.boot:spring-boot-starter-web")   
 testCompile("org.springframework.boot:spring-boot-starter-test")
}

10.2 安裝Spring boot CLI

Spring Boot CLI(命令行接口)是一個命令行工具,你可使用它來快速地實現Spring的原型。它容許你運行Groovy腳本,這意味着你有一個熟悉的相似java語法,沒有太多的樣板代碼。

你不須要使用CLI來使用Spring Boot,可是這絕對是使Spring應用程序啓動的最快方法。

10.2.1 安裝手冊

你能夠從Spring軟件存儲庫下載Spring CLI發行版:

也可使用快照版snapshot distributions

下載後,按照未壓縮的文檔中INSTALL.txt介紹進行。總之,在.zip文件中的bin/目錄中有一個spring腳本(windows spring.bat)。或者,你可使用java -jar運行.jar文件(腳本能夠幫助你肯定類路徑是否正確設置)。

10.2.2 使用SDKMAN!安裝

SDKMAN!(軟件開發工具包管理器)能夠用於管理各類二進制SDK的多個版本,包括Groovy和Spring Boot CLI。從sdkman.io獲取SDKMAN!,安裝Spring Boot使用如下命令:

$ sdk install springboot
$ spring --version
Spring Boot v2.0.5.RELEASE

若是你爲CLI開發了特性,並但願輕鬆訪問你構建的版本,請使用如下命令:

$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-2.0.5.RELEASE-bin/spring-2.0.5.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v2.0.5.RELEASE

前面的指令安裝了一個spring名爲dev實例的本地實例。它指向你的目標構建位置,所以每當你從新構建Spring Boot時,spring都是最新的。

你能夠經過運行如下命令來查看:

$ sdk ls springboot

================================================================================
Available Springboot Versions
================================================================================
> + dev
* 2.0.5.RELEASE

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

10.2.3 OSX Homebrew安裝

若是你在Mac上使用Homebrew,你可使用如下命令來安裝Spring Boot CLI:

$ brew tap pivotal/tap
$ brew install springboot

Homebrew安裝spring/usr/local/bin目錄下。

若是沒有看到公式,brew的安裝可能已通過時,在這種狀況下,運行 brew update並再次嘗試。

10.2.4 MacPorts安裝

若是你在Mac上並使用MacPorts,你可使用如下命令來安裝Spring Boot CLI:

$ sudo port install spring-boot-cli

10.2.5 命令行實現

Spring Boot CLI包括爲BASHzsh shell提供命令實現的腳本,你能夠在任何shell中source腳本(也稱爲spring),或者將其放入你的我的或系統範圍的bash實現初始化中。在Debian系統中,系統範圍的腳本在/shell-completeion/bash中,在新shell啓動時將執行該目錄中的全部腳本。例如,若是你已經安裝了SDKMAN!,就能夠手動運行腳本,使用如下命令:

$ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring
$ spring <HIT TAB HERE>
  grab  help  jar  run  test  version
若是你使用Homebrew或MacPorts安裝Spring Boot CLI,命令行實現腳本會自動註冊到你的shell中。

10.2.6 Windows Scoop安裝

若是你在Windows上使用Scoop命令,你可使用如下命令來安裝Spring Boot CLI:

> scoop bucket add extras
> scoop install springboot

Scoop安裝spring~/scoop/apps/springboot/current/bin

10.2.7 快速啓動Spring CLI的例子

你可使用如下web應用程序來測試你的安裝,首先,建立一個名爲app.groovy的文件,以下所示:

@RestController
class ThisWillActuallyRun {

  @RequestMapping("/")
  String home() {
    "Hello World!"
  }
 
}

而後從shell運行它,以下:

$ spring run app.groovy
應用程序第一次運行速度很慢,由於依賴項被下載,後續的運行要快得多。

在你最喜歡的web瀏覽器中打開localhost:8080,你應該會看到如下輸出:

Hello World!

10.3 從Spring Boot的早期版本升級

若是你正在從更早的Spring Boot版本升級,請檢查項目wiki上提供詳細的升級說明的「遷移指南」,還要檢查「發佈說明」,以得到每一個版本的「新的和須要注意的」特性。

當升級到新特性版本時,一些屬性可能已經被重命名或刪除,Spring Boot提供了一種在啓動時分析應用程序環境和打印診斷信息的方法,還爲你在運行時臨時遷移屬性,要啓用該特性,請向項目添加如下依賴項:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <scope>runtime</scope>
</dependency>
在環境中添加較晚的屬性(好比在使用@PropertySource時)將不被考慮。
完成遷移後,請確保將此模塊從項目的依賴項中刪除。

要升級現有的CLI安裝,請使用適當的包管理器命令(例如,brew upgrade),或者,若是你手動安裝CLI,請遵循標準說明,記住更新PATH環境變量以刪除任何舊的引用。


上一篇:Spring Boot 介紹

下一篇:開發你的第一個 Spring Boot 應用程序

相關文章
相關標籤/搜索