Spring Boot能夠與「經典」Java開發工具一塊兒使用,也能夠做爲命令行工具安裝。不管哪一種方式,都須要Java SDK v1.8或更高版本。在開始以前,你應該使用如下命令檢查當前的Java安裝:html
$ java -version
若是你是Java開發新手,或者你想嘗試使用Spring Boot,那麼你可能想先嚐試一下Spring Boot CLI(命令行接口)。不然,請繼續閱讀「經典」安裝說明。java
你可使用與任何標準Java庫相同的方式使用Spring Boot,爲此,在類路徑上包括適當的spring-boot-*.jar
文件。Spring Boot不須要任何特殊的工具集成,所以你可使用任何IDE或文本編輯器。另外,Spring Boot應用程序沒有什麼特別之處,所以你能夠像其餘Java程序同樣運行和調試Spring Boot 應用程序。git
儘管你能夠複製Spring Boot jar,可是咱們一般建議你使用一個支持依賴管理的構建工具(好比Maven或Gradle)。github
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
範圍的替代解決方案。
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.html。windows
下面的示例展現了一個典型的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") }
Spring Boot CLI(命令行接口)是一個命令行工具,你可使用它來快速地實現Spring的原型。它容許你運行Groovy腳本,這意味着你有一個熟悉的相似java語法,沒有太多的樣板代碼。
你不須要使用CLI來使用Spring Boot,可是這絕對是使Spring應用程序啓動的最快方法。
你能夠從Spring軟件存儲庫下載Spring CLI發行版:
也可使用快照版snapshot distributions
下載後,按照未壓縮的文檔中INSTALL.txt介紹進行。總之,在.zip
文件中的bin/
目錄中有一個spring
腳本(windows spring.bat
)。或者,你可使用java -jar
運行.jar
文件(腳本能夠幫助你肯定類路徑是否正確設置)。
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 ================================================================================
若是你在Mac上使用Homebrew,你可使用如下命令來安裝Spring Boot CLI:
$ brew tap pivotal/tap $ brew install springboot
Homebrew安裝spring
到/usr/local/bin
目錄下。
若是沒有看到公式,brew的安裝可能已通過時,在這種狀況下,運行
brew update
並再次嘗試。
若是你在Mac上並使用MacPorts,你可使用如下命令來安裝Spring Boot CLI:
$ sudo port install spring-boot-cli
Spring Boot CLI包括爲BASH和zsh 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中。
若是你在Windows上使用Scoop命令,你可使用如下命令來安裝Spring Boot CLI:
> scoop bucket add extras > scoop install springboot
Scoop安裝spring
到~/scoop/apps/springboot/current/bin
。
你可使用如下web應用程序來測試你的安裝,首先,建立一個名爲app.groovy
的文件,以下所示:
@RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { "Hello World!" } }
而後從shell運行它,以下:
$ spring run app.groovy
應用程序第一次運行速度很慢,由於依賴項被下載,後續的運行要快得多。
在你最喜歡的web瀏覽器中打開localhost:8080,你應該會看到如下輸出:
Hello World!
若是你正在從更早的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
環境變量以刪除任何舊的引用。