Spring Boot文档(003)-第二部分
2017-08-21 00:00
435 查看
摘要: Spring boot 入门
您可以使用Spring Boot创建可以使用java -jar 或传统的war部署的Java应用程序。我们还提供一个运行“spring脚本”的命令行工具。
我们的主要目标是:
为所有的Spring开发人员提供一个更快,更广泛的入门体验。
开始使用开箱即用的配置(采用默认配置),但随着需求也可以调整配置自己需要的值。
提供大量项目通用的一系列非功能特性(例如嵌入式服务器,安全性,指标,健康检查,外部化配置)。
绝对没有代码生成,也不需要XML配置。
*虽然您可以使用Spring 6或7,但我们通常推荐Java 8。
您还可以将Spring Boot应用程序部署到任何Servlet 3.0+兼容容器。
如果您是Java开发的新手,或者您只想尝试使用Spring Boot,您可能需要首先尝试使用Spring Boot CLI,否则,请阅读“经典”安装说明。
*虽然Spring Boot与Java 1.6兼容,如果可能,您应该考虑使用最新版本的Java。
虽然您可以复制Spring Boot jar,但我们通常建议您使用支持依赖关系管理的构建工具(如Maven或Gradle)。
*在许多操作系统上,Maven可以通过软件包管理器进行安装。如果您是OSX Homebrew用户尝试
Spring引导依赖使用
这是一个典型的
Spring引导依赖关系可以使用
Gradle Wrapper
当您需要构建项目时,Gradle Wrapper提供了一种“获取”Gradle的好方法。它是一个小脚本和库,它与代码一起引导构建过程。有关详细信息,请参阅docs.gradle.org/2.14.1/userguide/gradle_wrapper.html。
这是一个典型的
您不需要使用CLI来使用Spring Boot,但它绝对是将Spring应用程序从本地开始的最快方法。
spring-boot-cli-1.5.6.RELEASE-bin.zip
spring-boot-cli-1.5.6.RELEASE-bin.tar.gz
各个发布版本的快照快照。
下载后,请按照 解压缩的归档文件中的INSTALL.txt说明进行操作。总而言之:在文件的目录中有一个
如果您正在开发CLI的功能,并希望轻松访问刚创建的版本,请遵循以下额外说明。
这将安装一个
你可以看到它:
自制将安装
*如果您没有看到公式,您的安装可能会过期。只需执行并重brew update试。
如果使用Homebrew或MacPorts安装Spring Boot CLI,则命令行补全脚本将自动注册到您的shell。
Then simply run it from a shell:
*首先运行应用程序需要一些时间,因为下载依赖关系。后续运行将会更快。
在您的网络浏览器中打开localhost:8080,您应该会看到以下输出:
要升级现有的CLI安装,请使用相应的软件包管理器命令(例如
*spring.io网站包含使用Spring的引导许多“入门”指南。如果您正在寻求解决具体问题;可以先看一下
您可以通过start.spring.io的
在开始之前,打开终端来检查您是否安装了有效的Java和Maven版本。
此示例需要在其自己的文件夹中创建。后续说明假设您已经创建了一个合适的文件夹,它是您的“当前目录”。
这应该给你一个工作的构建,你可以通过运行测试
*此时,您可以将项目导入到IDE中(最现代的Java IDE包括内置的Maven支持)。为了简单起见,我们将继续为此示例使用纯文本编辑器。
其他“Starters”只是提供您在开发特定类型的应用程序时可能需要的依赖关系。由于我们正在开发一个Web应用程序,所以我们将添加一个
该
如果再次运行
虽然这里没有太多的代码,但是相当多的是。我们来看看重要的部分。
该
*在
Starters和自动配置
自动配置旨在与“Starters”配合使用,但两个概念并不直接相关。您可以自由选择启动器之外的jar依赖项,Spring Boot仍然会自动配置您的应用程序。
如果你打开一个web浏览器到localhost:8080你应该看到以下输出:
可执行jar和Java
Java不提供任何标准的方法来加载嵌套的jar文件(即jar文件本身包含在jar中)。如果您正在寻找分发自包含的应用程序,这可能是有问题的。
为了解决这个问题,许多开发人员使用“uber”jars。一个uber jar简单地将所有类,从所有jar包到一个档案。这种方法的问题是,很难看到您在应用程序中实际使用哪些库。如果在多个jar中使用相同的文件名(但具有不同的内容),也可能会有问题。
Spring Boot采用一个不同的方法,可以直接对jar进行嵌套。
要创建一个可执行的jar,我们需要添加
*所述
保存
如果你看
你也应该看到一个名为小得多文件
要运行该应用程序,请使用以下
像以前一样,要优雅地退出应用程序
II. 入门
如果你刚刚开始使用Spring Boot,或者是“Spring”,这是你的一部分!在这里我们回答基本的“什么?”,“怎么样”和“为什么?”的问题。你会发现一个详细的介绍Spring Boot和安装说明。然后,我们将构建我们的第一个Spring Boot应用程序,然后我们再讨论一些核心原则。8. 介绍Spring Boot
Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring的应用程序。我们对Spring平台和第三方库有自己的看法,所以开始你不要觉得奇怪。大多数Spring Boot应用程序需要很少的Spring配置。您可以使用Spring Boot创建可以使用java -jar 或传统的war部署的Java应用程序。我们还提供一个运行“spring脚本”的命令行工具。
我们的主要目标是:
为所有的Spring开发人员提供一个更快,更广泛的入门体验。
开始使用开箱即用的配置(采用默认配置),但随着需求也可以调整配置自己需要的值。
提供大量项目通用的一系列非功能特性(例如嵌入式服务器,安全性,指标,健康检查,外部化配置)。
绝对没有代码生成,也不需要XML配置。
9. 系统要求
默认情况下,Spring Boot 1.5.6.RELEASE需要Java 7和Spring Framework 4.3.10.RELEASE或更高版本。您可以使用Spring Boot与Java 6进行一些其他配置。有关详细信息,请参见第84.11节“如何使用Java 6”。为Maven(3.2+)和Gradle 2(2.9或更高版本)和3提供了显式构建支持。*虽然您可以使用Spring 6或7,但我们通常推荐Java 8。
9.1. Servlet容器
以下嵌入式servlet容器可直接是使用:名称 | Servlet版本 | Java版本 |
---|---|---|
Tomcat 8 | 3.1 | Java 7+ |
Tomcat 7 | 3.0 | Java 6+ |
Jetty9.3 | 3.1 | Java 8+ |
Jetty9.2 | 3.1 | Java 7+ |
Jetty8 | 3.0 | Java 6+ |
Undertow 1.3 | 3.1 | Java 7+ |
10. 安装 Spring Boot
Spring Boot可以与“经典”Java开发工具一起使用或作为命令行工具安装。无论如何,您将需要Java SDK v1.6或更高版本。您应该在开始之前检查当前的Java安装:$ java -version
如果您是Java开发的新手,或者您只想尝试使用Spring Boot,您可能需要首先尝试使用Spring Boot CLI,否则,请阅读“经典”安装说明。
*虽然Spring Boot与Java 1.6兼容,如果可能,您应该考虑使用最新版本的Java。
10.1. Java开发人员的安装说明
您可以使用与任何标准Java库相同的方式使用Spring Boot。只需spring-boot-*.jar在您的类路径中包含相应的文件。Spring Boot不需要任何特殊的工具集成,所以可以使用任何IDE或文本编辑器; 并且Spring引导应用程序没有什么特别之处,因此您可以像任何其他Java程序一样运行和调试。
虽然您可以复制Spring Boot jar,但我们通常建议您使用支持依赖关系管理的构建工具(如Maven或Gradle)。
10.1.1. Maven安装
Spring Boot与Apache Maven 3.2兼容。如果您还没有安装Maven,可以按照maven.apache.org上的说明进行操作。*在许多操作系统上,Maven可以通过软件包管理器进行安装。如果您是OSX Homebrew用户尝试
brew install maven。Ubuntu用户可以运行
sudo apt-get install maven。
Spring引导依赖使用
org.springframework.boot
groupId。通常,您的Maven POM文件将从
spring-boot-starter-parent项目继承,并声明一个或多个“Starters”依赖关系。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> <! - 继承自Spring Boot - > <parent> <groupId>org.springframework.boot </ groupId> <artifactId> spring-boot-starter-parent </ artifactId> <version> 1.5.6.RELEASE < / version> </ parent> <! - 添加Web应用程序的典型依赖关系 - > <dependencies> <dependency> <groupId> org.springframework.boot </ groupId> <artifactId> spring-boot-starter-web </ artifactId> </ dependency> </dependencies> <! - 作为可执行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 2(2.9或更高版本)和Gradle 3兼容。如果您尚未安装Gradle,您可以按照www.gradle.org/上的说明进行操作。Spring引导依赖关系可以使用
org.springframework.boot
group。通常,您的项目将声明一个或多个“启动器”的依赖关系 。Spring Boot提供了一个有用的Gradle插件 ,可用于简化依赖关系声明和创建可执行文件。
Gradle Wrapper
当您需要构建项目时,Gradle Wrapper提供了一种“获取”Gradle的好方法。它是一个小脚本和库,它与代码一起引导构建过程。有关详细信息,请参阅docs.gradle.org/2.14.1/userguide/gradle_wrapper.html。
这是一个典型的
build.gradle文件:
plugins { id 'org.springframework.boot' version '1.5.6.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发行版:spring-boot-cli-1.5.6.RELEASE-bin.zip
spring-boot-cli-1.5.6.RELEASE-bin.tar.gz
各个发布版本的快照快照。
下载后,请按照 解压缩的归档文件中的INSTALL.txt说明进行操作。总而言之:在文件的目录中有一个
spring脚本(
spring.bat对于Windows),或者您可以使用该文件(脚本可帮助您确保类路径设置正确)。
bin/.zipjava -jar.jar
10.2.2. 用 SDKMAN!安装
SDKMAN!(软件开发套件管理器)可用于管理各种二进制SDK的多个版本,包括Groovy和Spring Boot CLI。获取SDKMAN!从sdkman.io并安装Spring Boot$ sdk install springboot $ spring --version Spring Boot v1.5.6.RELEASE
如果您正在开发CLI的功能,并希望轻松访问刚创建的版本,请遵循以下额外说明。
$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.5.6.RELEASE-bin/spring-1.5.6.RELEASE/ $ sdk default springboot dev $ spring --version Spring CLI v1.5.6.RELEASE
这将安装一个
spring称为
dev实例的本地实例。它指向您的目标构建位置,因此每次重建Spring Boot时,
spring都将是最新的。
你可以看到它:
$ sdk ls springboot ============================================================================ Available Springboot Versions ============================================================================ > + dev * 1.5.6.RELEASE ============================================================================ + - local version * - installed > - currently in use ============================================================================
10.2.3. OSX Homebrew 安装
如果您在Mac上使用Homebrew,则您需要做的所有安装Spring Boot CLI都是:$ brew tap pivotal / tap $ brew install springboot
自制将安装
spring到
/usr/local/bin。
*如果您没有看到公式,您的安装可能会过期。只需执行并重brew update试。
10.2.4. MacPorts 安装
如果您在Mac上使用MacPorts,则您需要做的所有安装Spring Boot CLI都是:$ sudo port install spring-boot-cli
10.2.5. 命令行补全
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。
10.2.6. 快速启动 Spring CLI 示例
这是一个非常简单的Web应用程序,可用于测试您的安装。创建一个名为app.groovy
@RestControoler class ThisWillActuallyRun { @RequestMapping("/") String home() { "Hello World!" } }
Then simply run it from a shell:
$ spring run app.groovy
*首先运行应用程序需要一些时间,因为下载依赖关系。后续运行将会更快。
在您的网络浏览器中打开localhost:8080,您应该会看到以下输出:
Hello World!
10.3. 从早期版本的Spring Boot 升级
如果您从早期版本的Spring Boot升级,请检查项目wiki上托管的“发行说明” 。您将找到升级说明以及每个版本的“新的和值得注意的”功能的列表。要升级现有的CLI安装,请使用相应的软件包管理器命令(例如
brew upgrade),或者如果手动安装了CLI,请按照 标准说明记住更新
PATH环境变量以删除任何旧的引用。
11. 开发你的第一个 Spring Boot 应用程序
让我们开发一个简单的“Hello World!”的web应用程序,它可以突显出Spring Boot的一些主要功能。我们将采用Maven来构建该项目,因为大多的IDE都支持它。*spring.io网站包含使用Spring的引导许多“入门”指南。如果您正在寻求解决具体问题;可以先看一下
您可以通过start.spring.io的
web依赖关系搜索器中选择启动器来快速完成以下步骤。这将自动生成一个新的项目结构,以便您立即开始编码。查看文档了解更多详细信息。
在开始之前,打开终端来检查您是否安装了有效的Java和Maven版本。
$ java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) $ mvn -v Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T13:58:10-07:00) Maven home: /Users/user/tools/apache-maven-3.1.1 Java version: 1.7.0_51, vendor: Oracle Corporation
此示例需要在其自己的文件夹中创建。后续说明假设您已经创建了一个合适的文件夹,它是您的“当前目录”。
11.1. 创建 POM文件
我们需要先创建一个Mavenpom.xml文件。这
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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE</version> </parent> <!-- Additional lines to be added here... --> </project>
这应该给你一个工作的构建,你可以通过运行测试
mvn package(你可以暂时忽略警告:“jar will be empty - no content was marked for inclusion!”)。
*此时,您可以将项目导入到IDE中(最现代的Java IDE包括内置的Maven支持)。为了简单起见,我们将继续为此示例使用纯文本编辑器。
11.2. 添加类路径依赖关系
Spring Boot提供了一些“Starters”,可以方便地将jar添加到您的类路径中。我们的示例应用程序已经在parentPOM 的 一部分中使用了
spring-boot-starter-parent。这
spring-boot-starter-parent是一个提供有用的Maven默认值的特殊启动器。它还提供了一个
dependency-management部分,以便您可以省略
version“blessed”依赖关系的标签。
其他“Starters”只是提供您在开发特定类型的应用程序时可能需要的依赖关系。由于我们正在开发一个Web应用程序,所以我们将添加一个
spring-boot-starter-web依赖关系,但在此之前,我们来看看我们目前所拥有的。
$ mvn dependency:tree [INFO] com.example:myproject:jar:0.0.1-SNAPSHOT
该
mvn dependency:tree命令打印项目依赖关系的树形表示形式。你可以看到它
spring-boot-starter-parent本身不提供依赖。我们来编辑
pom.xml并在
parent下添加
spring-boot-starter-web的依赖项:
<dependencies> <dependency> <groupId> org.springframework.boot </ groupId> <artifactId> spring-boot-starter-web </ artifactId> </ dependency> </ dependencies>
如果再次运行
mvn dependency:tree,您将看到现在有许多附加的依赖项,包括Tomcat Web服务器和Spring Boot本身。
11.3. 写代码
要完成我们的应用程序,我们需要创建一个单一的Java文件。Maven会编译源代码从src/main/java,所以你需要创建一个文件夹结构,然后添加一个命名的文件默认情况下
src/main/java/Example.java:
import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Example.class, args); } }
虽然这里没有太多的代码,但是相当多的是。我们来看看重要的部分。
11.3.1. @RestController 和 @RequestMapping 注解
我们的Example的第一个注释是
@RestController。这被称为stereotype annotation。它为人们阅读代码提供了一些提示,对于Spring来说,这个类具有特定的作用。在这种情况下,我们的类是一个web,
@Controller所以Spring在处理传入的Web请求时会考虑它。
该
@RequestMapping注释提供“路由”的信息。告诉Spring,任何具有路径“/”的HTTP请求都应映射到该
home方法。该
@RestController注解告诉Spring使得到的字符串直接返回给调用者。
*在
@RestController与
@RequestMapping注解是Spring MVC的注解(他们并不是专门针对Spring Boot)。有关更多详细信息,请参阅Spring参考文档中的MVC部分。
11.3.2. @EnableAutoConfiguration 注解
第二类注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据您添加的jar依赖关系来“猜”你将如何配置Spring。自从spring-boot-starter-web添加了Tomcat和Spring MVC后,自动配置将假设您正在开发Web应用程序并相应地设置Spring。Starters和自动配置
自动配置旨在与“Starters”配合使用,但两个概念并不直接相关。您可以自由选择启动器之外的jar依赖项,Spring Boot仍然会自动配置您的应用程序。
11.3.3. main方法
我们的应用程序的最后一部分是main方法。这只是一个遵循Java惯例的应用程序入口点的标准方法。我们的main方法是SpringApplication通过调用委托给Spring Boot的run。SpringApplication将引导我们的应用程序,启动Spring,然后启动自动配置的Tomcat Web服务器。我们需要Example.class作为一个参数传递给run方法来判断SpringApplication哪个是Spring组件。该args数组也被传递以暴露任何命令行参数。11.4. 运行示例
在这一点上我们的应用程序应该工作 既然我们使用了 spring-boot-starter-parentPOM,我们有一个有用的run目标,我们可以使用它来启动应用程序。mvn spring-boot:run从根项目目录中键入以启动应用程序:$ mvn spring-boot:run . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.6.RELEASE) ....... . . . ....... . . . (log output here) ....... . . . ........ Started Example in 2.222 seconds (JVM running for 6.514)
如果你打开一个web浏览器到localhost:8080你应该看到以下输出:
Hello World! 正常退出应用程序命中[code=plain]ctrl-c。[/code]
11.5. 创建一个可执行jar
让我们完成我们的例子,创建一个完全自包含的可执行文件,我们可以在生产中运行。可执行的jar(有时称为“fat jars”)是包含编译的类以及代码需要运行的所有jar依赖关系的归档。可执行jar和Java
Java不提供任何标准的方法来加载嵌套的jar文件(即jar文件本身包含在jar中)。如果您正在寻找分发自包含的应用程序,这可能是有问题的。
为了解决这个问题,许多开发人员使用“uber”jars。一个uber jar简单地将所有类,从所有jar包到一个档案。这种方法的问题是,很难看到您在应用程序中实际使用哪些库。如果在多个jar中使用相同的文件名(但具有不同的内容),也可能会有问题。
Spring Boot采用一个不同的方法,可以直接对jar进行嵌套。
要创建一个可执行的jar,我们需要添加
spring-boot-maven-plugin到我们的
pom.xml。在以下
dependencies部分中插入以下行:
<build> <plugins> <plugin> <groupId> org.springframework.boot </ groupId> <artifactId> spring-boot-maven-plugin </ artifactId> </ plugin> </ plugins> </ build>
*所述
spring-boot-starter-parentPOM包括
<executions>配置以结合
repackage目标。如果您不使用父POM,您将需要自己声明此配置。有关详细信息,请参阅插件文档
保存
pom.xml并从命令行运行
mvn package:
$ mvn package [INFO] Scanning for projects... [INFO] [INFO] -------------------------------- ---------------------------------------- [INFO]Building myproject 0.0.1-SNAPSHOT [INFO] ----------------------------------------------- ------------------------- [INFO] .... .. [INFO] --- maven-jar-plugin:2.4:jar default-jar)@ myproject --- [INFO]Building jar:/Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar [INFO] [INFO] --- spring- boot-maven-plugin:1.5.6.RELEASE:repackage(default)@ myproject --- [INFO] -------------------------- ---------------------------------------------- [INFO] BUILD SUCCESS [INFO] ----------------------------------------------- -------------------------
如果你看
target目录,你应该看到
myproject-0.0.1-SNAPSHOT.jar。该文件的大小约为10 MB。如果你想偷看,可以使用
jar tvf:
$ jar tvf target / myproject-0.0.1-SNAPSHOT.jar
你也应该看到一个名为小得多文件
myproject-0.0.1-SNAPSHOT.jar.original的
target目录。这是Maven在由Spring Boot重新打包之前创建的原始jar文件。
要运行该应用程序,请使用以下
java -jar命令:
$ java -jar target / myproject-0.0.1-SNAPSHOT.jar 。____ _ __ _ _ / \\ / ___'_ __ _ _(_)_ __ _ \ \ \ \ (()\ ___ | '_ |' _ | |“_ \ / _` | \ \ \ \ \\ / ___)| | _)| | | | | || (_ | |)))) '| ____ | .__ | _ | | _ | _ | | _ \ __,| / / / / ========= | _ | ============== | ___ / = / _ / _ / _ / :: Spring Boot ::(v1。 5.6.RELEASE) ....... 。。 ....... 。。(log output here) ....... 。。 ........Started Example2.536秒(JVM running for 2.864)
像以前一样,要优雅地退出应用程序
ctrl-c。
12. 接下来读什么
相关文章推荐
- spring-boot官方文档翻译——第三部分
- Spring Boot 文档(002)-第一部分
- Spring说明文档翻译2——第二部分 Spring3.0新特性
- 【小QのSpringBoot-翻译】Spring Boot官方参考指南-第二部分 入门
- SpringBoot 集成 Swagger API 文档工具
- SpringBoot之springfox(Swagger) (ApiDoc接口文档)
- Spring Boot中使用Swagger2构建强大的RESTful API文档
- springboot+springfox+Swagger 实现项目的restful文档的自动生成
- Spring Boot中使用Swagger2构建强大的RESTful API文档
- springboot 中文文档
- Prism4文档翻译(第一章 第二部分)
- spring boot 中文文档地址
- [置顶] spring boot项目实战:swagger2在线文档
- Spring Boot中使用Swagger2构建强大的RESTful API文档
- Spring 4.x官方参考文档中文版——第六部分 Web技术
- Spring Boot 官方文档学习(一)入门及使用
- 【小QのSpringBoot-翻译】Spring Boot官方参考指南-第一部分 Spring Boot文档
- 【SpringBoot探索四】SpringBoot项目集成Swagger2管理接口文档
- spring boot 官方文档翻译之 配置log4j
- Spring Boot中使用Swagger2构建强大的RESTful API文档