《Spring Boot官方指南》(二)入門(一)
- 如果您剛開始接觸Spring Boot,或者簡稱’Spring’, 這個部分對您來說非常有用。這個部分提供了“是什麼?”,“怎麼做?”和 “為什麼?”的解釋。您除了會閱讀一份附帶Spring Boot安裝說明的介紹,還會引導您創建第一個Spring Boot應用程序,順便講述一些核心原則。
1. Spring Boot簡介
Spring Boot使創建基於Spring的應用程序變得輕鬆,您隻需要做到“just run”就能創建一個獨立的、產品級別的Spring應用程序。我們為Spring平台及第三方庫提供了相對固定的搭配,所以您開始的時候會輕鬆很多。大部分的SpringBoot應用程序都隻需要很少的Spring配置。
您可以使用SpringBoot創建應用程序,通過java -jar
命令或者傳統的war包部署方式來啟動它。我們也提供了一個命令行工具來運行“spring腳本”。
我們的目標是:
- 從根本上提供更加快速和簡便的Spring開發體驗。
- 開箱即用,但定製開發也很便捷。
- 提供一些大型項目常用的非功能性特性(例如:嵌入式服務、安全、監控、健康檢查、外部配置)。
- 不用生成代碼,沒有xml配置。
一般情況下,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 不支持。
![]() |
Tip |
---|---|
雖然您可以在Java 6或者7下使用Spring Boot,但我們一般還是建議盡可能的使用Java 8。 |
Spring Boot可以和“經典的”Java開發工具一起使用,也可以安裝成一個命令行工具。無論如何,您需要Java SDK v1.6或者更高的版本。開始之前,確認一下您的Java版本:
$ java -version
如果您是Java開發新手,或者您隻是想體驗一下Spring Boot,
第一步您可以選擇去Spring Boot CLI 試一試。或者,繼續看“經典的”安裝介紹。
![]() |
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="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://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>https://repo.spring.io/snapshot</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>https://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>https://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文件。
Gradle包裝器
構建項目的時候,Gradle包裝器提供了一種友好的“obtaining” Gradle的方式。它提供了一些小型的腳本和庫,可以和您的代碼一起提交來引導構建流程。詳細情況,可以訪問:docs.gradle.org/2.14.1/userguide/gradle_wrapper.html。
這是一個典型的build.gradle
文件:
buildscript { repositories { jcenter() maven { url "https://repo.spring.io/snapshot" } maven { url "https://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 "https://repo.spring.io/snapshot" } maven { url "https://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
最後更新:2017-05-19 14:05:53