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
环境变量以删除任何旧的引用。