![微服务从小白到专家:Spring Cloud和Kubernetes实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/981/41202981/b_41202981.jpg)
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所示。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/031-1.jpg?sign=1739140620-aVq7QsnVgtjDhJzHwvVNTsH0GeSHAJrT-0-72ace8cc43cfc82b318f15f7c590ed75)
图1-1 各大主流JDK市场份额分布
由图1-1可知,目前Oracle JDK和OpenJDK是最为流行的两种JDK,因此笔者将以macOS为例,演示如何安装两种不同的JDK8。
1. 安装OpenJDK
笔者推荐使用homebrew安装OpenJDK,homebrew是基于macOS的软件安装程序,读者可以自行搜索如何在macOS下安装homebrew软件。
首先,查看homebrew支持哪些版本的OpenJDK,在命令行中输入以下命令:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-1.jpg?sign=1739140620-6E9CoM2EWAbxnnTdhsaA1DLhQI1Hk6dl-0-6eb1c9bf288447d602380eac88ad4607)
如果工作机一切正常,那么会看到以下结果:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-2.jpg?sign=1739140620-TzJPKnuHkCLoCt95wVvoHpLNDQbAurQn-0-380b01b3bc76f3add529ffa5594a69ba)
然后,运行如下安装命令(安装最新版本的JDK——JDK8):
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-3.jpg?sign=1739140620-CCQduMdPeWGCxSXkO7Um5X9nwPVn8WNz-0-1199bd9056b6d4a8b4c621a97ec04254)
如果安装成功,JAVA_HOME将会被设置为以下地址:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-4.jpg?sign=1739140620-1EqhMqEuXRxywgbb0KpjVN6nEh49arRW-0-c844750414e73f52c16bb96707a4d90b)
2. 安装Oracle JDK
笔者推荐使用手工方式安装Oracle JDK。
首先,从Oracle官网下载与目标操作系统相对应的安装文件,例如JDK-8u271-macosx-x64.dmg(Oracle官网会根据读者的操作系统及当前的JDK版本,自动推荐最新的适配版本,读者需要注册一个Oracle账号以完成下载)。
JDK安装文件下载成功之后,双击该文件,会出现如图1-2所示的Oracle JDK解压文件。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-5.jpg?sign=1739140620-NZKkPzFsyQbuM8IDdmwtES3zNKaTQ3IV-0-9d1e00c567066bd41defb45777e9100b)
图1-2 Oracle JDK解压文件
双击图1-2中的pkg文件,开始安装Oracle JDK,其界面如图1-3所示。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-6.jpg?sign=1739140620-nfL0vEIJHtD6J39y9QKh1nT41USjiVYw-0-d002f5d2512b7059ff057394fc9871ac)
图1-3 Oracle JDK安装界面
如无特殊需求,读者可以使用默认选项完成JDK安装。
安装完成之后,我们需要验证JDK是否安装成功,打开命令行工具,运行以下命令:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/033-1.jpg?sign=1739140620-4UfMnODH4nCDkYgufzpp5GGDm0KZJo5O-0-3ea9dae0f418b7a25cd33a1f1c849aa2)
如果安装成功,则会出现如图1-4所示的JDK安装检验结果。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/033-2.jpg?sign=1739140620-4GGfCsk1fdIFhT0CVwg64GXZsdioD4Jj-0-e51a1083c391067646da3de0b9d9cfd5)
图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所示。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/033-3.jpg?sign=1739140620-X6XKh6BV1wJZAZ1C1AIWmIQuCX6f45DH-0-1921168f6f47761bfbb40f4e8c734749)
图1-5 IntelliJ 安装界面
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/034-1.jpg?sign=1739140620-PBq6ZCPic5ZA7f3Jz52G3PQYNiINwQn6-0-d23107dcb7de5a2db7b5d746b6ed6adf)
图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所示。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/034-2.jpg?sign=1739140620-oxd6xooT5dWdrdvBduubuEJCwUiifBSO-0-41ea24fb12ac4ca2cdf0fef099d0d18e)
图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所示。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/035-1.jpg?sign=1739140620-rn3fJ3YQjfLSTV2eMivdc1CE93AdXpLY-0-18b9eba5b8211faf20957ba9e379d15b)
图1-8 macOS Postman主界面
在后续章节中我们将向读者演示如何使用Postman发起API调用。