货币转换和货币兑换服务介绍

2025 年 1 月 11 日 | 阅读 5 分钟

在本节中,我们将创建几个微服务:CurrencyCalculationServiceCurrencyExchangeService

Introduction to Currency Conversion and Currency Exchange Service

注意:在本教程中,我们将货币转换服务称为货币计算服务。 这两个服务具有相同的含义,因此请不要感到困惑。

让我们了解这些服务的功能。

在上图中,CurrencyExchangeService 使用 JPA 与数据库进行通信,并返回特定货币的汇率。 例如,美元到印度卢比的转换。

当我们调用 CurrencyExchangeService 时,我们需要传递两个参数:from(从什么货币转换)和 to(转换为什么货币)。 例如,如果我们想将货币从 USD 转换为 INR

考虑 URL https://:8000/currency-exchange/from/USD/to/INR。 它返回以下响应

货币兑换服务将返回兑换倍数。兑换倍数意味着 1 美元 等于 72 印度卢比。 货币转换器服务使用货币兑换服务。 假设货币转换器服务想要将 100 美元转换为印度卢比。 因此,它将调用货币兑换服务,并将转换我们在路径参数中提供的指定金额。 例如

https://:8100/currency-converter/from/USD/to/INR/quantity/100

我们将使用 Spring Cloud 在我们的示例中实现这两个服务。

设置 currency-exchange-service

步骤 1:打开 spring 初始化器 http://start.spring.ios。

步骤 2:选择 Project:Maven Project,Language:Java,以及 Spring Boot 版本 2.2.0 M6 或更高版本。 提供 Group nameArtifact ID。 我们分别提供了 com.javatpoint.microservicescurrency-exchange-service 作为组名称和 Artifact id。

Introduction to Currency Conversion and Currency Exchange Service

步骤 3:添加依赖项 Web, DevTools, Actuator,Config Client

步骤 4:点击 Generate Project 按钮。 它将下载项目的 zip 文件。

步骤 5:解压到本地磁盘。

步骤 6:导入项目。

单击 File 菜单 -> Import -> Existing Maven Projects -> Next -> Browse -> 选择项目 -> Finish

导入需要一些时间。 项目导入完成后,它会显示以下项目目录。 不要考虑目录中的 data.sql 文件,因为我们稍后会创建它。

Introduction to Currency Conversion and Currency Exchange Service

步骤 7:打开 application.properties 文件并配置 application nameport 号。

application.properties

当我们运行 currency-exchange-service 时,它会运行,但不会执行任何服务。 在下一步中,我们将在 currency-exchange-service 中实现代码。

硬编码 currency-exchange-service

现在我们将创建一个将货币从美元转换为印度卢比的服务。

步骤 1:在包 com.javatpoint.microservices.currencyexchangeservice 中创建一个名为 CurrencyExchangeController 的类文件(REST 控制器)。

CurrencyExchangeController.java

步骤 2:创建一个名为 ExchangeValue 的类文件。

ExchangeValue.java

步骤 3:运行 CurrencyExchangeServiceApplication.java。它运行在我们在 application.properties 文件中配置的端口 8000 上。

我们在浏览器上得到以下响应

在响应中设置动态端口

CurrencyExchangeService 确定货币的汇率。 CurrencyCalculationService 使用 CurrencyExchangeService 来确定一种货币相对于另一种货币的价值。 我们将在下一个主题中稍后创建 CurrencyExchangeService 的多个实例。

目前,该服务正在端口 8000 上运行。 稍后我们将在端口 8001, 8002, 等上运行它。 在下一步中,我们将为 currency-exchange-service 设置一个端口。

步骤 1:打开 ExchangeValue.java 文件并添加一个 port 变量。 仅为 port 变量生成 getters 和 setters。

ExchangeValue.java

我们已经在 application.properties 文件中配置了应用程序名称和端口号,因此无需再次配置。

现在从环境中获取端口号。

步骤 3:打开 CurrencyExchangeController.java 并获取环境的属性。

CurrencyExchangeController.java。

当我们刷新浏览器时,URL 更改为:https://:8000/currency-exchange/from/USD/to/INR

目前 CurrencyExchangeServiceApplication 正在端口 8000 上运行。

现在我们将在不同的端口号上运行 CurrencyExchangeServiceApplication。为此,我们必须将 application.properties 文件中的端口从 8000 更改为 8001、8002 等,无论我们想要什么。

假设我们想要创建 CurrencyExchangeServiceApplication 的两个实例。 为此,我们必须在外部设置端口。

让我们创建一个在端口 8001 上运行的 CurrencyExchangeServiceApplication 实例。

步骤 1:右键单击项目 -> Run As -> Run Configurations。

或者单击突出显示的符号 -> Run Configurations。

Introduction to Currency Conversion and Currency Exchange Service

步骤 2:将CurrencyExchangeServiceAppication 重命名为 CurrencyExchangeServiceAppication8000,然后单击 Apply 按钮。

Introduction to Currency Conversion and Currency Exchange Service

步骤 3:右键单击 CurrencyExchangeServiceApplication8000 -> Duplicate。

Introduction to Currency Conversion and Currency Exchange Service

它生成 CurrencyExchangeServiceApplication8000 的重复文件。 我们将在端口 8001 上运行它。

步骤 4:单击 Arguments 选项卡,并在 VM arguments 文本框中写入 –Dserver.port=8001。 分别单击 ApplyRun 按钮。

注意:无论我们在 VM 参数中传递什么值,它都会覆盖 application.properties 文件的配置。

Introduction to Currency Conversion and Currency Exchange Service

单击 Run 按钮后,它开始在端口 8001 上运行。

步骤 5:将 URL 中的端口号更改为 https://:8001/currency-exchange/from/USD/to/INR 并按 Enter 键。 我们得到以下响应

现在我们有两个 CurrencyExchangeServiceApplication 实例,它们在两个不同的端口 80008001 上运行。