如果你刚开始学习 Spring Boot 或通常所说的 Spring,请先阅读这一部分。这部分回答了基本的 “what?”、“how?”、“why?” 问题。它包含了 Spring Boot 的介绍以及安装说明。我们将会通过构建你的第一个 Spring Boot 应用,来讨论一些需要遵循的核心原则。 Spring Boot 使创建独立的、产品级的基于 Spring 的可运行应用变得更容易。我们使用传统的 Spring 平台和第三方库,因此你只需要稍作改变就可以使用。大多数 Spring Boot 应用只需要很少的 Spring 配置。
你可以用 Spring Boot 来创建使用 我们的主要目标是:
Spring Boot 2.1.0.BUILD-SNAPSHOT 需要 Java 8 或 9 和 Spring Framework 5.1.0.RELEASE 及以上。 为下面的构建工具提供明确的构建支持:
Spring Boot 可以和传统的 Java 开发工具一起使用,也可作为一个命令行工具来进行安装。不管怎样,你将需要 Java SDK v1.8 或更高版本。你应该在开始之前检查当前安装的 Java 版本: $ java -version 如果你是 Java 开发的新手,或只想尝试 Spring Boot,你可以先试一下 Spring Boot CLI (Command Line Interface)。否则,请阅读传统的安装说明。
你可以像其它的标准 Java 库一样使用 Spring Boot。只需要在你的类路径上包含恰当的 尽管你可以只拷贝 Spring Boot 的 jar,但通常我们建议你使用一个支持依赖管理的构建工具(例如 Maven 或 Gradle)。 Spring Boot 兼容 Apache Maven 3.3 或以上。如果你没有安装 Maven,可以根据 maven.apache.org 上的说明来安装。
Spring Boot 依赖使用 下面的列展示了一个典型的 <?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.1.0.BUILD-SNAPSHOT</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> <!-- Add Spring repositories --> <!-- (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>
Spring Boot 兼容 Gradle 4.4 和更新。如果你没有安装 Gradle,可以根据 www.gradle.org 上的说明来安装。
Spring Boot 依赖项可以用 下面的示例展示了一个典型的 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:2.1.0.BUILD-SNAPSHOT' } } apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' 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 (Command Line Interface) 是一个命令行工具,可以用来快速搭建基于 Spring 的原型。它允许你运行 Groovy 脚本,这意味着你有一个熟悉的类 Java 语法,而且没有很多的样板代码。 你不需要用 CLI 来使用 Spring Boot,但它一定是顺利获得 Spring 应用程序的最快方式。 你可以从 Spring 软件仓库下载 Spring CLI 发行版: 也可以获取最新的 snapshot 版。
下载完成后,请按照解压文件中的 INSTALL.txt 介绍文件来安装。总结: SDKMAN! (The Software Development Kit Manager) 能用来管理各种二进制 SDK 的多个版本, 包括 Groovy 和 Spring Boot CLI。从 sdkman.io 获取 SDKMAN! 并安装 Spring Boot : $ sdk install springboot $ spring --version Spring Boot v2.1.0.BUILD-SNAPSHOT 如果你正在使用 CLI 中的开发特性,并希望能方便地访问你刚刚构建的版本,请使用下面的命令: $ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-2.1.0.BUILD-SNAPSHOT-bin/spring-2.1.0.BUILD-SNAPSHOT/ $ sdk default springboot dev $ spring --version Spring CLI v2.1.0.BUILD-SNAPSHOT
这将会安装一个名为 运行下面的命令你将会看到: $ sdk ls springboot ================================================================================ Available Springboot Versions ================================================================================ > + dev * 2.1.0.BUILD-SNAPSHOT ================================================================================ + - local version * - installed > - currently in use ================================================================================ 如果你在 Mac 上使用 Homebrew,你可以使用下面的命令安装 Spring Boot CLI: $ brew tap pivotal/tap $ brew install springboot
Homebrew 会在
如果你在 Mac 上使用 MacPorts,你可以使用下面的命令安装 Spring Boot CLI: $ sudo port install spring-boot-cli
Spring Boot CLI 附带的脚本为 BASH 和 zsh shells 提供了命令行实现。你可以在任何 shell 中 $ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring $ spring <HIT TAB HERE> grab help jar run test version
如果你是在 windows 平台上并使用 Scoop,你可以使用下面的命令安装 Spring Boot CLI: > scoop bucket add extras > scoop install springboot
Scoop 会在
你可以使用下面的 web 应用程序来测试你的安装。首先,创建一个名叫 @RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { "Hello World!" } } 然后从 shell 中运行它,如下: $ spring run app.groovy
在你最喜欢的浏览器中打开 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>
若要升级现有的 CLI 安装,请使用适当的包管理命令(例如 |