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 应用程序

相关文章
相关标签/搜索