将 Spring Data 与 Azure Cosmos DB for MongoDB API 配合使用
本文演示如何创建一个示例应用程序,该应用程序使用 Spring Data 通过 Azure Cosmos DB for MongoDB存储和检索信息。
先决条件
Azure 订阅 - 免费创建订阅。
Java 开发工具包 (JDK) 版本 8 或更高版本。
- Git 客户端。
创建 Azure Cosmos DB 帐户
使用 Azure 门户创建 Azure Cosmos DB 帐户
注意
可以在 Azure Cosmos DB 文档中阅读有关创建帐户的更多详细信息。
在 https://portal.azure.com/ 浏览到 Azure 门户并登录。
选择 创建资源,然后 数据库,然后 Azure Cosmos DB。
在“选择 API 选项”屏幕上,选择“Azure Cosmos DB for MongoDB”。
指定以下信息:
- 订阅:指定要使用的 Azure 订阅。
- 资源组:指定是创建新的资源组,还是选择现有资源组。
- 帐户名称:为 Azure Cosmos DB 帐户选择唯一名称;这将用于创建完全限定的域名,如 wingtiptoysmongodb.documents.azure.com。
- API:为本教程指定
Azure Cosmos DB for MongoDB API
。 - 位置:指定数据库最近的地理区域。
输入上述所有信息后,单击“审阅 + 创建”。
如果审阅页上的所有内容看起来都正确,请单击“创建”。
检索 Azure Cosmos DB 帐户的连接字符串
在 https://portal.azure.com/ 浏览到 Azure 门户并登录。
单击 所有资源,然后单击刚创建的 Azure Cosmos DB 帐户。
单击 连接字符串,并复制 主连接字符串 字段的值;稍后将使用该值来配置应用程序。
配置示例应用程序
打开命令行界面并使用 git 命令克隆示例项目,如以下示例所示:
git clone https://github.com/spring-guides/gs-accessing-data-mongodb.git
在示例项目的 <项目根目录>/complete/src/main 目录中创建 资源 目录,并在 资源 目录中创建 application.properties 文件。
在文本编辑器中打开 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
指定本文上文中所述的“主连接字符串”。 保存并关闭 application.properties 文件。
打包并测试示例应用程序
若要生成应用程序,请浏览到包含 pom.xml 文件的目录 /gs-accessing-data-mongodb/complete。
使用 Maven 生成示例应用程序,并将 Maven 配置为跳过测试;例如:
mvn clean package -DskipTests
启动示例应用程序;例如:
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。