【问题标题】:How do Spring Data repositories know where your database is located?Spring Data 存储库如何知道您的数据库所在的位置?
【发布时间】:2015-03-06 15:34:03
【问题描述】:

我一直在查看 Spring Framework 指南(特别是数据库访问指南),但我无法理解其中的部分内容。在MongoDB guide 中,它会创建一个模型,创建一个MongoRepository,并与数据进行交互。

但它没有涵盖应用程序如何知道您的 MongoDB 服务器在哪里。例如,如果我使用托管的 MongoDB,Spring Data 如何知道我的连接字符串和我的凭据是什么?我该如何配置?

【问题讨论】:

标签: spring mongodb spring-data spring-data-mongodb


【解决方案1】:

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

MongoDB 的自动配置由 MongoAutoConfiguration 类提供,该类又使用 MongoProperties 类来定位要连接的 MongoDB 服务器。默认情况下,这指向一个运行在localhost 端口27017 上的MongoDB 实例。

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

【讨论】:

  • 另请参阅docs.spring.io/spring-boot/docs/current/reference/html/…(并查找带有键 spring.data.mongodb.* 的“# MONGODB”部分)以获取可以在 Spring Boot application.properties/application 中定义的可用属性。 yml 文件,无需切换到 @EnableMongoRepositories
  • Excerpt.. # MONGODB (MongoProperties) spring.data.mongodb.host= # 数据库主机 spring.data.mongodb.port=27017 # 连接端口(默认为 27107) spring.data. mongodb.uri=mongodb://localhost/test #连接URL spring.data.mongodb.database= spring.data.mongodb.authentication-database= spring.data.mongodb.grid-fs-database= spring.data.mongodb. username= spring.data.mongodb.password= spring.data.mongodb.repositories.enabled=true # 如果启用了spring数据存储库支持
猜你喜欢
  • 2021-01-28
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 2019-02-04
  • 2018-02-02
相关资源
最近更新 更多