Spring Boot入门指南-简单环境介绍及搭建

默认情况下,Spring Boot 1.5.2.RELEASE需要Java 7和Spring Framework 4.3.7.RELEASE或更高版本。 您可以进行一些其他配置在Java 6上使用Spring Boot。 有关详细信息,请参见第84.11节“如何使用Java 6”。 为Maven(3.2+)和Gradle 2(2.9或更高版本)和3提供了显式构建支持。

虽然您可以在Java 6或7上使用 Spring Boot,但我们通常推荐Java 8。

Servlet容器

以下嵌入式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+

您还可以将Spring Boot应用程序部署到任何兼容Servlet 3.0+ 的容器中。

安装 Spring Boot

Spring Boot可以与“经典(classic)”Java开发工具一起使用或作为命令行工具安装。 无论如何,您将需要Java SDK v1.6或更高版本。 在开始之前检查当前的Java安装:

$ java -version

如果您是Java开发的新手,或者您只想尝试一下 Spring Boot,您可能需要首先尝试使用 Spring Boot CLI,如果想正式使用Spring Boot,请阅读“经典(classic)”安装说明。

虽然Spring Boot 与Java 1.6兼容,但我们建议使用最新版本的Java。

Java开发程序员安装说明

Spring Boot的使用方式与标准Java库的使用相同,只需在类路径中包含适当的spring-boot-*.jar文件。Spring Boot不需要任何特殊的集成工具,所以可以使用任何IDE或文本编辑器进行开发;并且Spring Boot 应用程序没有什么特殊的地方,因此您可以像其他Java程序一样运行和调试。虽然您可以直接复制Spring Boot 的jar包,但我们通常建议您使用依赖关系管理的构建工具(如Maven或Gradle)。

Maven安装

Spring Boot 兼容 Apache Maven 3.2。 如果您还没有安装Maven,可以按照 https://maven.apache.org/ 上的说明进行安装。

在许多操作系统上,Maven可以通过软件包管理器进行安装。 如果您是OSX Homebrew用户,请尝试使用命令:brew install maven。 Ubuntu用户可以运行命令:sudo apt-get install maven。

Spring Boot 依赖 org.springframework.boot groupId。通常,您的Maven POM文件将从 spring-boot-starter-parent 项目继承,并声明一个或多个“启动器(启动器)”的依赖关系。Spring Boot还提供了一个可选的Maven插件来创建可执行的jar包。

典型的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>

    <!-- Inherit defaults from Spring Boot -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.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 scope)的替代解决方案。

Gradle 安装

Spring Boot 兼容 Gradle 2(2.9或更高版本)和Gradle 3。如果您尚未安装Gradle,您可以按照 http://www.gradle.org/ 上的说明进行操作。

可以使用org.springframework.boot 组(group)声明Spring Boot 的依赖项。 通常,您的项目将声明一个或多个“启动器(Starters)”的依赖。Spring Boot提供了一个有用的Gradle插件,可用于简化依赖关系声明和创建可执行 jar包。

Gradle Wrapper

当您需要构建项目时,Gradle Wrapper提供了一种“获取(obtaining)”Gradle的更好的方式。 它是一个小脚本和库,它与代码一起引导构建过程。 有关详细信息,请参阅 https://docs.gradle.org/2.14.1/userguide/gradle_wrapper.html

典型的 build.gradle 文件:

plugins {
    id 'org.springframework.boot' version '1.5.2.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 Boot CLI是一个命令行工具,如果要使用Spring快速原型(quickly prototype),可以使用它。 它允许您运行Groovy脚本,这意味着会有您熟悉的类似Java的语法,没有太多的样板代码(boilerplate code)。

您也不必要通过CLI来使用Spring Boot,但它绝对是开始Spring应用程序最快方法。

手动安装

您可以从Spring软件版本库下载Spring CLI发行版:

各发布版本的快照

下载完成后,请按照解压缩后文件中的INSTALL.txt的说明进行操作。 总而言之:在.zip文件的bin/目录中有一个spring脚本(Windows的spring.bat),或者你可以使用java -jar(脚本可以帮助您确保类路径设置正确)。

使用SDKMAN!安装

SDKMAN!(软件开发套件管理器)可用于管理各种二进制SDK的多个版本,包括Groovy和Spring Boot CLI。从http://sdkman.io/ 获取SDKMAN!并安装Spring Boot。

$ sdk install springboot
$ spring --version
Spring Boot v1.5.2.RELEASE

如果您正在开发CLI的功能,并希望轻松访问刚创建的版本,请遵循以下额外说明。

$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.5.2.RELEASE-bin/spring-1.5.2.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v1.5.2.RELEASE

这将安装一个称为dev的spring的本地实例(instance)。 它指向您构建位置的target,所以每次重建(rebuild)Spring Boot时,Spring 将是最新的。

你可以看到:

$ sdk ls springboot

================================================================================
Available Springboot Versions
================================================================================
> + dev
* 1.5.2.RELEASE

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

OSX Homebrew 安装

如果您在Mac上使用 Homebrew,安装Spring Boot CLI 只需要下面命令:

$ brew tap pivotal/tap
$ brew install springboot

Homebrew会将Spring 安装到 /usr/local/bin。

如果您没有看到公式(formula),您的安装可能会过期。 只需执行brew更新,然后重试。

MacPorts安装

如果您在Mac上使用 MacPorts,安装Spring Boot CLI 只需要下面命令:

$ sudo port install spring-boot-cli

命令行补全

Spring Boot CLI为BASH和zsh shell提供命令补全的功能。 您可以在任何shell中引用脚本(也称为spring),或将其放在您的个人或系统范围的bash完成初始化中。 在Debian系统上,系统范围的脚本位于 /shell-completion/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。

快速启动Spring CLI示例

这是一个非常简单的Web应用程序,可用于测试您的安装是否正确。 创建一个名为app.groovy的文件:

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/")    
    String home() {        
        "Hello World!"
    }

}

然后从shell运行它:

$ spring run app.groovy

因为下载依赖的库,首次运行应用程序需要一些时间,。 后续运行将会更快。

在浏览器中打开 http://localhost:8080 ,您应该会看到以下输出:

Hello World!

从早期版本的Spring Boot升级

如果您从早期版本的 Spring Boot 升级,请检查项目wiki上托管的“发行说明”。 您将找到升级说明以及每个版本的“新的和值得注意的”功能的列表。

要升级现有的CLI安装,请使用包管理工具相应的package manager命令(例如brew upgrade),如果您手动安装了CLI,请按照标准说明记住更新PATH环境变量以删除任何旧的引用。



推荐教程

Java设计模式

创建模式、结构模式、行为模式

Maven教程

Maven是一个项目管理和构建工具

Lucene教程

Lucene是一个开源的基于Java的搜索库

JUnit教程

JUnit是Java编程语言的单元测试框架

Java算法

排序、二叉树、红黑树

Log4j教程

log4j是一种用Java编写的可靠,快速和灵活的日志框架(API)

StringBoot教程

StringBoot实战操作演练

mybatis文档手册

Mybatis基础语法、实例讲解

SpringCloud教程

服务发现、断路器、智能路由

Guava教程

Guava是开源的Java工具库

Elasticsearch教程

一款强大的搜索引擎