微服务架构基础(Spring Boot+Spring Cloud+Docker)
上QQ阅读APP看书,第一时间看更新

2.1 Spring Boot介绍

2.1.1 Spring Boot的由来和特点

Spring Boot是由Spring团队(Pivotal团队)提供的一个全新框架,其设计目的是为了简化Spring 应用的初始搭建过程和开发过程。该框架使用了特定的方式来进行配置(提供了默认的代码和注释配置),这使得开发人员不再需要定义样板化的配置,而只需非常少的配置就可以快速地开发基于Spring的应用。

Spring Boot框架有很多优点,这些优点的具体表现如下。

1.可快速构建独立的Spring应用程序

Spring Boot所创建的应用程序都是独立的JAR包,而不是WAR包,即使是Web应用,也是JAR包,我们可以直接通过JAR包来运行一个Spring应用程序。如果需要,也可以将Spring Boot程序以WAR包的形式部署到服务器。

2.内嵌Servlet容器,无需单独安装容器即可独立运行项目

Spring Boot项目不需要将WAR包部署到Tomcat、Jetty等Servlet容器中,而是在启动时,自动地启动一个嵌入式的Tomcat,我们可以通过application.properties配置Tomcat具体的端口号信息。

3.对主流开发框架的无配置集成

Spring Boot与其他主流框架整合时,只需在pom.xml中添加相应依赖,即可直接使用该框架,无需在项目的配置文件中添加配置。

4.提供开箱即用的Spring插件,简化了Maven、Gradle的配置

Spring Boot提供了大量的开箱即用的插件,开发人员只需添加一段Maven依赖配置即可使用。这些插件在Spring Boot中被称为“Starter”,每一个Starter都有自己独立的配置项。

5.自动配置Spring,极大地提高了开发、部署效率

Spring Boot会根据类路径中的类和JAR包中的类自动配置Bean,而不需要手动配置。这样极大地减少了开发人员的工作内容,从而提高开发和部署的效率。

6.无需任何XML配置

Spring Boot只有一个application.properties配置文件,没有其他XML配置文件。

需要注意的是,虽然Spring Boot有很多优点,但是将现有的Spring项目转换为Spring Boot项目还是有一定困难的,它更适用于全新的Spring项目。

2.1.2 Spring Boot的使用要求

1.使用环境

在本书编写时,Spring Boot 官方发布的最新正式版本为 1.5.6.RELEASE,因此本书就以1.5.6.RELEASE版本为例对Spring Boot进行讲解。默认情况下,该版本需要在Java 7环境和Spring框架4.3.10.RELEASE或以上版本中使用。由于Spring Boot官方推荐使用Java 8环境,所以本书使用的Java版本为Java 8。

需要注意的是,目前官方Spring Boot 1.5.x正式版本还在不断地更新中,读者在学习时,可能会发现最新正式版已不是 1.5.6,但这并不影响读者学习本书。读者只需按照书中内容学习即可,但建议学习时版本与本书保持一致。

2.构建支持

使用Spring Boot 1.5.6.RELEASE版本开发时需要第三方技术的构建支持,目前已明确提供构建支持的有Maven(3.2+)、Gradle2(2.9或之后)和Gradle3。

本书使用的是Maven3.5.0版本,读者可自行选择Maven3.2以上的版本,但学习时建议与本书版本一致。

3.开发工具

Spring Boot的开发工具可以使用Spring Tool Suite (STS)或IntelliJ IDEA。其中Spring Tool Suite (STS)是一个基于Eclipse的开发环境,它是为开发Spring应用程序而定制的。我们可以直接下载并使用该工具,也可以在已有Eclipse中安装STS插件。

由于开发人员通常更熟悉使用Eclipse,所以本书将使用Eclipse Neon.3 Release (4.6.3)版本配合 STS 插件进行讲解,此版本对应的 STS 插件可以通过地址 https://spring.io/tools/sts/all下载。