微服务从小白到专家:Spring Cloud和Kubernetes实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 准备工作

Spring生态体系主要基于Java语言构建,而要运行Java程序自然离不开Java SDK。Java SDK是由Sun公司(现已被Oracle公司收购)提供给开发者的开发套件,它包含JDK、Glassfish、MySQL和NetBeans等组件。作为Java开发者,最为关心的肯定是JDK(Java Development Kit,Java开发工具包),只要安装了JDK,就可以开发和运行Java程序了。

1.1.1 安装JDK

读者在本地开发环境安装JDK时,除了需要选择JDK版本,还需要选择安装哪家厂商出品的JDK。作为初学者可能会有这样的疑问,为什么不同厂商提供了不同的JDK组件呢?

追根溯源,Java这门语言的规范定义和实现方式是分离的。Java作为一种开发语言,其生态是由几部分组成的。其中最重要的是JLS(Java Language Specification,Java语言规范)和JVM(Java Virtual Machine,Java虚拟机)规范。

作为Java语言知识产权的所有者,Oracle公司开发了Oracle JDK和OpenJDK,任何组织或个人可以自主开发JDK,但前提是自研JDK必须通过JCK(Java Compatibility Kit,Java兼容性工具包)的认证。这种规范定义与实现方式分离的好处是,可以让更多个人和组织参与到Java生态的建设中来,增加Java语言的影响力,进而被更多主流厂商所使用。不仅如此,还可以防止一家独大的情形出现(Google与Oracle之间关于JDK使用权的官司就是前车之鉴)。正因为规范定义与实现方式分离,所以出现多种JDK也是题中之义。

截至2020年,各大主流JDK市场份额分布如图1-1所示。

图1-1 各大主流JDK市场份额分布

由图1-1可知,目前Oracle JDK和OpenJDK是最为流行的两种JDK,因此笔者将以macOS为例,演示如何安装两种不同的JDK8。

1. 安装OpenJDK

笔者推荐使用homebrew安装OpenJDK,homebrew是基于macOS的软件安装程序,读者可以自行搜索如何在macOS下安装homebrew软件。

首先,查看homebrew支持哪些版本的OpenJDK,在命令行中输入以下命令:

如果工作机一切正常,那么会看到以下结果:

然后,运行如下安装命令(安装最新版本的JDK——JDK8):

如果安装成功,JAVA_HOME将会被设置为以下地址:

2. 安装Oracle JDK

笔者推荐使用手工方式安装Oracle JDK。

首先,从Oracle官网下载与目标操作系统相对应的安装文件,例如JDK-8u271-macosx-x64.dmg(Oracle官网会根据读者的操作系统及当前的JDK版本,自动推荐最新的适配版本,读者需要注册一个Oracle账号以完成下载)。

JDK安装文件下载成功之后,双击该文件,会出现如图1-2所示的Oracle JDK解压文件。

图1-2 Oracle JDK解压文件

双击图1-2中的pkg文件,开始安装Oracle JDK,其界面如图1-3所示。

图1-3 Oracle JDK安装界面

如无特殊需求,读者可以使用默认选项完成JDK安装。

安装完成之后,我们需要验证JDK是否安装成功,打开命令行工具,运行以下命令:

如果安装成功,则会出现如图1-4所示的JDK安装检验结果。

图1-4 JDK安装检验结果(macOS)

1.1.2 安装IDE

在JDK安装完成之后,理论上可以开始进行开发工作了,但在实际的工作中,通常都需要IDE(Integrated Development Environment,集成开发环境)的配合,以此提高开发效率。

在Java IDE领域,IntelliJ IDEA是目前最为流行的集成开发环境软件,IntelliJ提供了免费社区版和商用收费版,本书的样例程序将使用IntelliJ IDEA社区版进行构建。

在开始安装IntelliJ前,需要先从IntelliJ官网下载最新版的安装文件,下载成功后会得到一个名为ideaIC-2020.2.3.dmg的文件(根据版本和操作系统的不同,文件名有所不同)。

在macOS上安装IntelliJ,直接双击安装文件将会弹出如图1-5所示的IntelliJ安装界面。

按要求将该文件放入Applications目录,再从Applications目录中启动IntelliJ IDEA,启动成功的界面如图1-6所示。

图1-5 IntelliJ 安装界面

图1-6 IntelliJ IDEA启动成功界面

1.1.3 安装Maven

Java是面向对象的语言,面向对象语言的设计思想比较注重程序的“复用性”,因此Java生态中存在大量可供复用的类或Jar文件,这些文件可以由同一组织内部维护,也可以由第三方提供,它们一旦被任一项目所使用,就会被称为该项目的“依赖项”。在Java生态中,Maven主要用于依赖项管理及编译打包。

Maven是Apache开源基金会旗下的顶级项目,其安装过程比较简单,只需在官网下载所需版本文件(本书选择了Maven 3.6,对应的下载文件为apache-maven-3.6.3-bin.zip),再将其解压即可使用。

Maven安装文件解压后的目录内容如图1-7所示。

图1-7 Maven安装文件解压后的目录内容

Maven提供的所有工具均在bin目录下,读者需要将bin目录配置到操作系统的PATH变量中,这样我们就可以在命令行通过mvn命令执行Maven编译操作。限于篇幅,设置操作系统PATH变量的过程请读者自行探索。

1.1.4 安装Postman

在微服务大行其道的今天,如何对微服务进行测试也是一门学问,本书将采用一种相对轻量级的测试手段,即使用Postman来进行测试。

Postman是一款非常方便的API调用工具,它最初只是一款基于Chrome的插件,目前已经演变为一款单独应用。开发者可以在Postman中建立自己的API测试集,还可以将Postman中的测试集在不同设备间进行迁移,或者分享给其他团队成员。

安装Postman的过程非常简单,首先从官网下载Postman(需要注册账号)的安装文件。下载成功后会得到名为Postman-osx-7.36.1.zip的文件(根据版本和操作系统的不同,文件名有所不同),将其解压即可使用,macOS Postman的主界面如图1-8所示。

图1-8 macOS Postman主界面

在后续章节中我们将向读者演示如何使用Postman发起API调用。