![微服务从小白到专家: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=1739591498-GcA21DPdFPx6qoNZnkcoGLshow7HodWQ-0-ce8350c0a25121724f572056c048e908)
图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=1739591498-aRyr68rTMIa9pO7FZjO7odqxPSSuSnWF-0-a4d7469e712a4529cd62db095dafd619)
如果工作机一切正常,那么会看到以下结果:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-2.jpg?sign=1739591498-m2YwzCifZowjRjIEK4NyHg0E4OKmojKJ-0-a6548e8cef812a8e15f59b131c403d36)
然后,运行如下安装命令(安装最新版本的JDK——JDK8):
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-3.jpg?sign=1739591498-haCrkBukQHQHZ3JRRN4zC470Ye1xy6ZB-0-33a95e8536086c761f0fda694dac1561)
如果安装成功,JAVA_HOME将会被设置为以下地址:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-4.jpg?sign=1739591498-ReV653wO1D6ILFskN1hwRs2nRFRGIQ3W-0-ed31095016ea99c1c9fbfb01821a9e94)
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=1739591498-5FBxRbhIE0lOgRuNMl3A3ObZGAHt9afX-0-5ef134918c1291079f6190457155e59a)
图1-2 Oracle JDK解压文件
双击图1-2中的pkg文件,开始安装Oracle JDK,其界面如图1-3所示。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/032-6.jpg?sign=1739591498-NcgrSFzKUaFSLYv6or5XuD7Up4l4X90H-0-31c8a38266bf465acb166176e0ad1aeb)
图1-3 Oracle JDK安装界面
如无特殊需求,读者可以使用默认选项完成JDK安装。
安装完成之后,我们需要验证JDK是否安装成功,打开命令行工具,运行以下命令:
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/033-1.jpg?sign=1739591498-r7SfDHx2JtIQhwRUyYHU9Nh6dLTtH1an-0-a8f7821355813afd0ffd79c2e3866769)
如果安装成功,则会出现如图1-4所示的JDK安装检验结果。
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/033-2.jpg?sign=1739591498-50wsbLLhiHQrw64IVuVWHR2v6NIUEAMy-0-c270a3a4ef3d27ec432b139b6f72f693)
图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=1739591498-mqU5LcgiSgyhB3i0sRm3xscC6obeqI6g-0-a807b7cf8db04a92609294053fb8cef8)
图1-5 IntelliJ 安装界面
![](https://epubservercos.yuewen.com/91A00C/21440188001525406/epubprivate/OEBPS/Images/034-1.jpg?sign=1739591498-RPDYic4cCkTk5lBQc6L8vrfnDpKhQpIw-0-3d4f8ea14642dde73928e91f1943e875)
图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=1739591498-6xK422OXDzsj5Y36D4eygwU4E5uALSip-0-122e31346eb075a755fb0246b1a4cee6)
图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=1739591498-NzE5QtjpSD1si1UzqVN8RgOjzQqdqPpF-0-071d982c3f6ff49531d61bbebb8908af)
图1-8 macOS Postman主界面
在后续章节中我们将向读者演示如何使用Postman发起API调用。