- 如果您刚开始接触Spring Boot,或者简称’Spring’, 这个部分对您来说非常有用。这个部分提供了“是什么?”,“怎么做?”和 “为什么?”的解释。您除了会阅读一份附带Spring Boot安装说明的介绍,还会引导您创建第一个Spring Boot应用程序,顺便讲述一些核心原则。
百牛信息技术bainiu.ltd整理发布于博客园
- 1.Spring Boot简介
- 2.系统要求
-
- 2.1.Servlet容器
- 3.安装Spring Boot
-
- 3.1.Java开发者使用的安装教程
-
- 3.1.1.Maven安装
- 3.1.2.Gradle安装
- 3.2.安装Spring Boot CLI
-
- 3.2.1.手动安装
- 3.2.2.使用SDKMAN!安装
- 3.2.3.OSX Homebrew 安装
- 3.2.4.MacPorts安装
- 3.2.5.命令行补全工具
- 3.2.6.快速开始Spring CLI实例
- 3.3.升级旧版本的Spring Boot
- 4.开发第一个Spring Boot应用程序
-
- 4.1.创建POM
- 4.2.添加classpath依赖
- 4.3.编写代码
-
- 4.3.1.@RestController和@RequestMapping注解
- 4.3.2.@EnableAutoConfiguration注解
- 4.3.3.“main” 方法
- 4.4.运行这个例子
- 4.5.创建可执行jar文件
- 5.接下来阅读什么
1. Spring Boot简介
Spring Boot使创建基于Spring的应用程序变得轻松,您只需要做到“just run”就能创建一个独立的、产品级别的Spring应用程序。我们为Spring平台及第三方库提供了相对固定的搭配,所以您开始的时候会轻松很多。大部分的SpringBoot应用程序都只需要很少的Spring配置。
您可以使用SpringBoot创建应用程序,通过java -jar
命令或者传统的war包部署方式来启动它。我们也提供了一个命令行工具来运行“spring脚本”。
我们的目标是:
- 从根本上提供更加快速和简便的Spring开发体验。
- 开箱即用,但定制开发也很便捷。
- 提供一些大型项目常用的非功能性特性(例如:嵌入式服务、安全、监控、健康检查、外部配置)。
- 不用生成代码,没有xml配置。
2. 系统要求
一般情况下,Spring Boot1.4.1.BUILD-SNAPSHOT要求Java 7以及 Spring Framework 4.3.3.BUILD-SNAPSHOT或者更高版本。您可以在Java 6的环境下使用Spring Boot,但是需要一些额外的配置。访问Section 80.11, “How to use Java 6″获得更多详细说明。需要明确的是,Maven需要3.2或者更高版本,Gradle需要1.12或者2.x。Gradle 3 不支持。
Tip | |
---|---|
虽然您可以在Java 6或者7下使用Spring Boot,但我们一般还是建议尽可能的使用Java 8。 |
2.1 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+ |
您也可以在兼容Servlet 3.0+ 的容器中部署Spring Boot 应用。
3. 安装Spring Boot
Spring Boot可以和“经典的”Java开发工具一起使用,也可以安装成一个命令行工具。无论如何,您需要Java SDK v1.6或者更高的版本。开始之前,确认一下您的Java版本:
$ java -version
如果您是Java开发新手,或者您只是想体验一下Spring Boot,
第一步您可以选择去Spring Boot CLI 试一试。或者,继续看“经典的”安装介绍。
Tip | |
---|---|
虽然Spring Boot可以兼容Java 6,但是还是尽可能使用最新版本的Java。 |
3.1 Java开发者使用的安装教程
您可以像使用其他标准Java库一样使用Spring Boot。只需要将相关的spring-boot-*.jar文件包含进您的classpath。Spring Boot不需要使用特殊的工具进行集成,因此您选择任何IDE或者文本编辑器都可以;并且Spring Boot应用程序也没有任何特殊规范,您可以像其他Java程序一样来运行和调试它。
虽然您可以复制Spring Boot jars,但是我们建议使用支持依赖管理的构建工具(比如Maven或者Gradle)。
3.1.1 Maven安装
Spring Boot与Apache Maven 3.2或者更高的版本兼容。如果您还没有安装Maven,可以去maven.apache.org阅读相关教程。
Tip | |
---|---|
很多操作系统可以使用包管理工具来安装Maven,苹果的OSX操作系统Homebrew使用者可以试试brew install maven 。Ubuntu用户可以运行这个命令sudo apt-get install maven 。 |
Spring Boot 依赖的groupId
是org.springframework.boot
。通常情况下,您的MavenPOM文件继承自spring-boot-starter-parent
项目,并且声明为一些“Starters”。Spring Boot也提供了一些创建可执行jar文件的Maven插件。
这是一个典型的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.4.1.BUILD-SNAPSHOT</version>
</parent> <!-- Additional lines to be added here... --> <!-- (you don't need this if you are using a .RELEASE version) -->
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</project>
Tip | |
---|---|
继承spring-boot-starter-parent 项目是不错的使用Spring Boot的方式,但是有时候可能还是有不适配的问题。有些时候您可能需要继承子不同的父POM,或者仅仅是和我们的默认配置有所区别。查看Section 13.2.2, “Using Spring Boot without the parent POM”,这是使用了导入方式的一种解决方案。 |
3.1.2 Gradle安装
Spring Boot与Gradle 1.12或者更高的版本兼容。如果您还没有安装Gradle,可以去www.gradle.org/阅读相关教程。
Spring Boot依赖的group
是org.springframework.boot
。一般情况下,您的项目可能需要为一个或多个“Starters”声明依赖项。Spring Boot提供了一些不错的Gradle插件,可以用来简化依赖声明和创建可执行的jar文件。
Gradle包装器
构建项目的时候,Gradle包装器提供了一种友好的“obtaining” Gradle的方式。它提供了一些小型的脚本和库,可以和您的代码一起提交来引导构建流程。详细情况,可以访问:docs.gradle.org/2.14.1/userguide/gradle_wrapper.html。
这是一个典型的build.gradle
文件:
buildscript {
repositories {
jcenter()
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.BUILD-SNAPSHOT")
}
} apply plugin: 'java'
apply plugin: 'spring-boot' jar {
baseName = 'myproject'
version = '0.0.1-SNAPSHOT'
} repositories {
jcenter()
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
} dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
3.2 安装Spring Boot CLI
Spring Boot CLI是一个命令行工具,如果想要快速获取一个Spring样品程序,可以使用到它。Spring Boot CLI是一个命令行工具,如果想要快速获取一个Spring样品程序,可以使用到它。有了它,您可以运行Groovy脚本,这意味着您可以使用熟练的类Java语法,而不是超多的样板代码。
使用CLI这个命令行工具来做Spring Boot开发并不是必须的,但它确实是一个开发Spring应用程序最快捷的方式。
3.2.1 手动安装
到Spring软件仓库下载Spring CLI的发布包:
- spring-boot-cli-1.4.1.BUILD-SNAPSHOT-bin.zip
- spring-boot-cli-1.4.1.BUILD-SNAPSHOT-bin.tar.gz
也可以去snapshot distributions下载最新的快照发布版本。
下载以后,阅读一下解压缩包里面的说明文档:INSTALL.txt。大概是这样,bin/
目录下的.zip
文件里面有一个spring
脚本(Windows系统是spring.bat
),或者您也可以使用命令java -jar
来运行.jar
文件(脚本是帮您确保classpath是否设置正确了)。
3.2.2 使用SDKMAN!安装
SDKMAN!(一个软件开发工具管理器)可以用用来管理多版本的二进制SDKs,包括 Groovy 与 Spring Boot CLI。到sdkman.io下载SDKMAN!,用下面的方式来安装Spring Boot:
$ sdk install springboot
$ spring --version
Spring Boot v1.4.1.BUILD-SNAPSHOT
如果您正在开发一些命令行工具CLI的组件,并且想要方便的使用到您刚刚构建的版本,下面这个介绍可以帮到您。
$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.4.1.BUILD-SNAPSHOT-bin/spring-1.4.1.BUILD-SNAPSHOT/
$ sdk default springboot dev
$ spring --version
Spring CLI v1.4.1.BUILD-SNAPSHOT
这样做可以安装一个被叫做dev
实例的本地spring
实例,它指向了您的目标生成路径,所以每次您重新构建Spring Boot,spring
都会是保持最新版本。
应该可以看到下面的这些输出信息:
$ sdk ls springboot ================================================================================
Available Springboot Versions
================================================================================
> + dev
* 1.4.1.BUILD-SNAPSHOT ================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
3.2.3 OSX Homebrew 安装
如果您在Mac环境下,并且使用Homebrew,运行下面的命令来安装Spring Boot CLI:
$ brew tap pivotal/tap
$ brew install springboot
Homebrew把`spring`安装到了/usr/local/bin
。
Note | |
---|---|
如果没有顺利安装的话,大概是您的brew库已经太旧了,执行brew update 以后,再试一试。 |
3.2.4 MacPorts安装
如果您在Mac环境下,并且使用MacPorts,运行下面的命令来安装Spring Boot CLI:
$ sudo port install spring-boot-cli