百牛信息技術bainiu.ltd整理髮佈於博客園html
Spring Boot使建立基於Spring的應用程序變得輕鬆,您只須要作到「just run」就能建立一個獨立的、產品級別的Spring應用程序。咱們爲Spring平臺及第三方庫提供了相對固定的搭配,因此您開始的時候會輕鬆不少。大部分的SpringBoot應用程序都只須要不多的Spring配置。java
您可使用SpringBoot建立應用程序,經過java -jar
命令或者傳統的war包部署方式來啓動它。咱們也提供了一個命令行工具來運行「spring腳本」。web
咱們的目標是:spring
通常狀況下,Spring Boot1.4.1.BUILD-SNAPSHOT要求Java 7以及 Spring Framework 4.3.3.BUILD-SNAPSHOT或者更高版本。您能夠在Java 6的環境下使用Spring Boot,可是須要一些額外的配置。訪問Section 80.11, 「How to use Java 6″得到更多詳細說明。須要明確的是,Maven須要3.2或者更高版本,Gradle須要1.12或者2.x。Gradle 3 不支持。apache
Tip | |
---|---|
雖然您能夠在Java 6或者7下使用Spring Boot,但咱們通常仍是建議儘量的使用Java 8。 |
下面的嵌入式Servlet容器能夠直接使用:安全
名稱 | Servlet版本 | Java版本 |
---|---|---|
Tomcat 8 | 3.1 | Java 7+ |
Tomcat 7 | 3.0 | Java 6+ |
Jetty 9.3 | 3.1 | Java 8+ |
Jetty 9.2 | 3.1 | Java 7+ |
Jetty 8 | 3.0 | Java 6+ |
Undertow 1.3 | 3.1 | Java 7+ |
您也能夠在兼容Servlet 3.0+ 的容器中部署Spring Boot 應用。springboot
Spring Boot能夠和「經典的」Java開發工具一塊兒使用,也能夠安裝成一個命令行工具。不管如何,您須要Java SDK v1.6或者更高的版本。開始以前,確認一下您的Java版本:app
$ java -version
若是您是Java開發新手,或者您只是想體驗一下Spring Boot,
第一步您能夠選擇去Spring Boot CLI 試一試。或者,繼續看「經典的」安裝介紹。maven
Tip | |
---|---|
雖然Spring Boot能夠兼容Java 6,可是仍是儘量使用最新版本的Java。 |
您能夠像使用其餘標準Java庫同樣使用Spring Boot。只須要將相關的spring-boot-*.jar文件包含進您的classpath。Spring Boot不須要使用特殊的工具進行集成,所以您選擇任何IDE或者文本編輯器均可以;而且Spring Boot應用程序也沒有任何特殊規範,您能夠像其餘Java程序同樣來運行和調試它。編輯器
雖然您能夠複製Spring Boot jars,可是咱們建議使用支持依賴管理的構建工具(好比Maven或者Gradle)。
Spring Boot與Apache Maven 3.2或者更高的版本兼容。若是您尚未安裝Maven,能夠去maven.apache.org閱讀相關教程。
Tip | |
---|---|
不少操做系統可使用包管理工具來安裝Maven,蘋果的OSX操做系統Homebrew使用者能夠試試brew install maven 。Ubuntu用戶能夠運行這個命令sudo apt-get install maven 。 |
Spring Boot 依賴的groupId
是org.springframework.boot
。一般狀況下,您的MavenPOM文件繼承自spring-boot-starter-parent
項目,而且聲明爲一些「Starters」。Spring Boot也提供了一些建立可執行jar文件的Maven插件。
這是一個典型的pom.xml
文件:
<?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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.BUILD-SNAPSHOT</version> </parent> <!-- Additional lines to be added here... --> <!-- (you don't need this if you are using a .RELEASE version) --> <repositories> <repository> <id>spring-snapshots</id> <url>http://repo.spring.io/snapshot</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>spring-milestones</id> <url>http://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>http://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>http://repo.spring.io/milestone</url> </pluginRepository> </pluginRepositories> </project>
Tip | |
---|---|
繼承spring-boot-starter-parent 項目是不錯的使用Spring Boot的方式,可是有時候可能仍是有不適配的問題。有些時候您可能須要繼承子不一樣的父POM,或者僅僅是和咱們的默認配置有所區別。查看Section 13.2.2, 「Using Spring Boot without the parent POM」,這是使用了導入方式的一種解決方案。 |
Spring Boot與Gradle 1.12或者更高的版本兼容。若是您尚未安裝Gradle,能夠去www.gradle.org/閱讀相關教程。
Spring Boot依賴的group
是org.springframework.boot
。通常狀況下,您的項目可能須要爲一個或多個「Starters」聲明依賴項。Spring Boot提供了一些不錯的Gradle插件,能夠用來簡化依賴聲明和建立可執行的jar文件。
這是一個典型的build.gradle
文件:
buildscript {
repositories {
jcenter()
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.BUILD-SNAPSHOT") } } apply plugin: 'java' apply plugin: 'spring-boot' jar { baseName = 'myproject' version = '0.0.1-SNAPSHOT' } repositories { jcenter() maven { url "http://repo.spring.io/snapshot" } maven { url "http://repo.spring.io/milestone" } } dependencies { compile("org.springframework.boot:spring-boot-starter-web") testCompile("org.springframework.boot:spring-boot-starter-test") }
Spring Boot CLI是一個命令行工具,若是想要快速獲取一個Spring樣品程序,可使用到它。Spring Boot CLI是一個命令行工具,若是想要快速獲取一個Spring樣品程序,可使用到它。有了它,您能夠運行Groovy腳本,這意味着您可使用熟練的類Java語法,而不是超多的樣板代碼。
使用CLI這個命令行工具來作Spring Boot開發並非必須的,但它確實是一個開發Spring應用程序最快捷的方式。
到Spring軟件倉庫下載Spring CLI的發佈包:
也能夠去snapshot distributions下載最新的快照發布版本。
下載之後,閱讀一下解壓縮包裏面的說明文檔:INSTALL.txt。大概是這樣,bin/
目錄下的.zip
文件裏面有一個spring
腳本(Windows系統是spring.bat
),或者您也可使用命令java -jar
來運行.jar
文件(腳本是幫您確保classpath是否設置正確了)。
SDKMAN!(一個軟件開發工具管理器)能夠用用來管理多版本的二進制SDKs,包括 Groovy 與 Spring Boot CLI。到sdkman.io下載SDKMAN!,用下面的方式來安裝Spring Boot:
$ sdk install springboot $ spring --version Spring Boot v1.4.1.BUILD-SNAPSHOT
若是您正在開發一些命令行工具CLI的組件,而且想要方便的使用到您剛剛構建的版本,下面這個介紹能夠幫到您。
$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.4.1.BUILD-SNAPSHOT-bin/spring-1.4.1.BUILD-SNAPSHOT/ $ sdk default springboot dev $ spring --version Spring CLI v1.4.1.BUILD-SNAPSHOT
這樣作能夠安裝一個被叫作dev
實例的本地spring
實例,它指向了您的目標生成路徑,因此每次您從新構建Spring Boot,spring
都會是保持最新版本。
應該能夠看到下面的這些輸出信息:
$ sdk ls springboot ================================================================================ Available Springboot Versions ================================================================================ > + dev * 1.4.1.BUILD-SNAPSHOT ================================================================================ + - local version * - installed > - currently in use ================================================================================
若是您在Mac環境下,而且使用Homebrew,運行下面的命令來安裝Spring Boot CLI:
$ brew tap pivotal/tap $ brew install springboot
Homebrew把`spring`安裝到了/usr/local/bin
。
Note | |
---|---|
若是沒有順利安裝的話,大概是您的brew庫已經太舊了,執行brew update 之後,再試一試。 |
若是您在Mac環境下,而且使用MacPorts,運行下面的命令來安裝Spring Boot CLI:
$ sudo port install spring-boot-cli