- 如果您刚开始接触Spring Boot,或者简称’Spring’, 这个部分对您来说非常有用。这个部分提供了“是什么?”,“怎么做?”和 “为什么?”的解释。您除了会阅读一份附带Spring Boot安装说明的介绍,还会引导您创建第一个Spring Boot应用程序,顺便讲述一些核心原则。
1. Spring Boot简介
Spring Boot使创建基于Spring的应用程序变得轻松,您只需要做到“just run”就能创建一个独立的、产品级别的Spring应用程序。我们为Spring平台及第三方库提供了相对固定的搭配,所以您开始的时候会轻松很多。大部分的SpringBoot应用程序都只需要很少的Spring配置。
您可以使用SpringBoot创建应用程序,通过java -jar
命令或者传统的war包部署方式来启动它。我们也提供了一个命令行工具来运行“spring脚本”。
我们的目标是:
- 从根本上提供更加快速和简便的Spring开发体验。
- 开箱即用,但定制开发也很便捷。
- 提供一些大型项目常用的非功能性特性(例如:嵌入式服务、安全、监控、健康检查、外部配置)。
- 不用生成代码,没有xml配置。
一般情况下,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。 |
Spring Boot可以和“经典的”Java开发工具一起使用,也可以安装成一个命令行工具。无论如何,您需要Java SDK v1.6或者更高的版本。开始之前,确认一下您的Java版本:
$ java -version
如果您是Java开发新手,或者您只是想体验一下Spring Boot,
第一步您可以选择去Spring Boot CLI 试一试。或者,继续看“经典的”安装介绍。
Tip | |
---|---|
虽然Spring Boot可以兼容Java 6,但是还是尽可能使用最新版本的Java。 |
您可以像使用其他标准Java库一样使用Spring Boot。只需要将相关的spring-boot-*.jar文件包含进您的classpath。Spring Boot不需要使用特殊的工具进行集成,因此您选择任何IDE或者文本编辑器都可以;并且Spring Boot应用程序也没有任何特殊规范,您可以像其他Java程序一样来运行和调试它。
虽然您可以复制Spring Boot jars,但是我们建议使用支持依赖管理的构建工具(比如Maven或者Gradle)。
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”,这是使用了导入方式的一种解决方案。 |
Spring Boot与Gradle 1.12或者更高的版本兼容。如果您还没有安装Gradle,可以去www.gradle.org/阅读相关教程。
Spring Boot依赖的group
是org.springframework.boot
。一般情况下,您的项目可能需要为一个或多个“Starters”声明依赖项。Spring Boot提供了一些不错的Gradle插件,可以用来简化依赖声明和创建可执行的jar文件。
这是一个典型的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") }
Spring Boot CLI是一个命令行工具,如果想要快速获取一个Spring样品程序,可以使用到它。Spring Boot CLI是一个命令行工具,如果想要快速获取一个Spring样品程序,可以使用到它。有了它,您可以运行Groovy脚本,这意味着您可以使用熟练的类Java语法,而不是超多的样板代码。
使用CLI这个命令行工具来做Spring Boot开发并不是必须的,但它确实是一个开发Spring应用程序最快捷的方式。
到Spring软件仓库下载Spring CLI的发布包:
也可以去snapshot distributions下载最新的快照发布版本。
下载以后,阅读一下解压缩包里面的说明文档:INSTALL.txt。大概是这样,bin/
目录下的.zip
文件里面有一个spring
脚本(Windows系统是spring.bat
),或者您也可以使用命令java -jar
来运行.jar
文件(脚本是帮您确保classpath是否设置正确了)。
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 ================================================================================
如果您在Mac环境下,并且使用Homebrew,运行下面的命令来安装Spring Boot CLI:
$ brew tap pivotal/tap $ brew install springboot
Homebrew把`spring`安装到了/usr/local/bin
。
Note | |
---|---|
如果没有顺利安装的话,大概是您的brew库已经太旧了,执行brew update 以后,再试一试。 |
如果您在Mac环境下,并且使用MacPorts,运行下面的命令来安装Spring Boot CLI:
$ sudo port install spring-boot-cli