《Spring Boot官方指南》(二)入门

如果您刚开始接触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 不支持。

《Spring Boot官方指南》(二)入门 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 试一试。或者,继续看“经典的”安装介绍。

《Spring Boot官方指南》(二)入门 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阅读相关教程。

《Spring Boot官方指南》(二)入门 Tip
很多操作系统可以使用包管理工具来安装Maven,苹果的OSX操作系统Homebrew使用者可以试试brew install maven。Ubuntu用户可以运行这个命令sudo apt-get install maven

Spring Boot 依赖的groupIdorg.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>
《Spring Boot官方指南》(二)入门 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依赖的grouporg.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

《Spring Boot官方指南》(二)入门 Note
如果没有顺利安装的话,大概是您的brew库已经太旧了,执行brew update以后,再试一试。

3.2.4 MacPorts安装

如果您在Mac环境下,并且使用MacPorts,运行下面的命令来安装Spring Boot CLI:

$ sudo port install spring-boot-cli
上一篇:Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)


下一篇:SNF开发平台WinForm-Grid表格控件大全