将 Spring Data 与 Azure Cosmos DB for MongoDB API 配合使用

本文介绍如何创建一个示例应用程序,该应用程序使用 Spring Data 通过用于 MongoDB 的 Azure Cosmos DB存储和检索信息。

先决条件

  • Git 客户端。

创建 Azure Cosmos DB 帐户

使用 Azure 门户创建Azure Cosmos DB帐户

注意

有关创建帐户的详细信息,请参阅Azure Cosmos DB文档。

  1. 在 https://portal.azure.com/ 浏览到 Azure 门户并登录。

  2. 选择“创建资源”,选择“数据库”,然后选择Azure Cosmos DB。

  3. 在“选择 API 选项”屏幕上,选择“Azure Cosmos DB for MongoDB”。

    Azure 门户中“选择 API”选项屏幕的屏幕截图,其中已选中 Azure Cosmos DB for MongoDB。

  4. 指定以下信息:

    • 订阅:指定要使用的 Azure 订阅。
    • 资源组:指定是创建新的资源组还是选择现有资源组。
    • 帐户名称:为Azure Cosmos DB帐户选择唯一名称。 此名称用于创建完全限定的域名,例如 wingtiptoysmongodb.documents.azure.com。
    • API:为本教程指定Azure Cosmos DB for MongoDB API。
    • 位置:指定数据库最近的地理区域。
  5. 输入上述所有信息时,选择“ 查看 + 创建”。

  6. 如果审阅页上的所有内容看起来都正确,请选择“ 创建”。

    查看页面的屏幕截图,其中显示了创建前Azure Cosmos DB帐户设置。

检索 Azure Cosmos DB 帐户的连接字符串

  1. 在 https://portal.azure.com/ 浏览到 Azure 门户并登录。

  2. 单击“所有资源”,然后选择创建的Azure Cosmos DB帐户。

  3. 单击 “连接字符串”,并复制 “主连接字符串 ”字段的值。 稍后使用此值配置应用程序。

    “连接字符串”页的屏幕截图,其中显示了Azure Cosmos DB帐户的主连接字符串。

配置示例应用程序

  1. 打开命令行界面并使用 git 命令克隆示例项目。 例如:

    git clone https://github.com/spring-guides/gs-accessing-data-mongodb.git
    
  2. 在<示例项目的项目根>目录/complete/src/main 目录中创建资源目录。 然后,在资源目录中创建 application.properties 文件。

  3. 在文本编辑器中打开 application.properties 文件。 将以下行添加到文件,并将示例值替换为前面所述的相应值:

    spring.data.mongodb.database=wingtiptoysmongodb
    spring.data.mongodb.uri=mongodb://wingtiptoysmongodb:AbCdEfGhIjKlMnOpQrStUvWxYz==@wingtiptoysmongodb.documents.azure.com:10255/?ssl=true&replicaSet=globaldb
    

    其中:

    参数 描述
    spring.data.mongodb.database 指定您在本文前面提到的 Azure Cosmos DB 帐户名称。
    spring.data.mongodb.uri 指定本文上文中所述的“主连接字符串”。
  4. 保存并关闭 application.properties 文件。

打包并测试示例应用程序

若要生成应用程序,请转到 目录 /gs-accessing-data-mongodb/complete,其中包含 pom.xml 文件。

  1. 使用 Maven 生成示例应用程序,并将 Maven 配置为跳过测试;例如:

    mvn clean package -DskipTests
    
  2. 启动示例应用程序;例如:

    
    java -jar target/accessing-data-mongodb-complete-0.0.1-SNAPSHOT.jar
    

    应用程序应返回如下所示的值:

    Customers found with findAll():
    -------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customer[id=5c1b4ae4d0b5080ac105cc14, firstName='Bob', lastName='Smith']
    
    Customer found with findByFirstName('Alice'):
    --------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customers found with findByLastName('Smith'):
    --------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customer[id=5c1b4ae4d0b5080ac105cc14, firstName='Bob', lastName='Smith']
    

总结

在本教程中,你创建了一个示例Java应用程序,该应用程序使用 Spring Data 通过 Azure Cosmos DB for MongoDB 来存储和检索信息。

清理资源

不再需要资源时,请使用Azure门户将其删除。 删除资源有助于避免意外费用。

后续步骤

若要了解有关 Spring 和 Azure 的详细信息,请继续阅读 Azure 上的 Spring 文档中心。

另请参阅

有关如何将 Azure 与 Java 配合使用的详细信息,请参阅面向 Java 开发人员的 Azure 和使用 Azure DevOps 和 Java。