Spring 数据存储库如何知道您的数据库位于何处?

How do Spring Data repositories know where your database is located?

我一直在查看 Spring 框架指南(特别是数据库访问指南),但我无法理解其中的部分内容。在 MongoDB guide 中,它遍历了创建模型、创建 MongoRepository 和与数据交互的过程。

但它没有涉及应用程序如何知道您 MongoDB 服务器的位置。例如,如果我使用托管 MongoDB,Spring 数据如何知道我的连接字符串以及我的凭据是什么?我该如何配置?

您提到的教程使用Spring Boot@SpringBootApplication 注释使应用程序能够自动发现 JPA 和 MongoDB 启用的存储库。

MongoDB 的自动配置由 class MongoAutoConfiguration, which in turn uses the class MongoProperties 提供,用于定位要连接的 MongoDB 服务器。默认情况下,这指向 localhost 端口 27017 上的 MongoDB 实例 运行。

如教程所述,要手动控制 MongoDB 个存储库,请使用 @EnableMongoRepositories 注释。