java - 具有多个配置文件的@AutoWired MongoTemplate

标签 java mongodb spring-boot

我想知道如何“AutoWire”MongoTemplate根据当前 Activity 的配置文件。

基本上,我希望拥有多个配置文件(开发、测试和生产)并使用 de.flapdoodle.embed.mongo在开发中,而在测试和生产中,我想连接到真正的 mongo 服务器。

我该怎么做?

附注
我希望这个问题不要太宽泛,并遵循 SO 的指导方针

谢谢

最佳答案

如果您有许多配置文件,则必须有不同的application.properties文件(例如application-dev.properties、application-test.properties ecc)。为了向 MongoTemplate bean 注入(inject)不同的配置,您必须在每个文件中定义正确的 Mongo 配置

spring.data.mongodb.uri=mongodb://localhost:27017/DATABASENAME

加载所选配置文件时(使用-Dspring.profiles.active=dev参数https://www.baeldung.com/spring-profiles)Springboot将配置注入(inject)到环境中。

关于java - 具有多个配置文件的@AutoWired MongoTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53362413/

相关文章:

mongodb - 如何在 grails 和 elasticsearch 中定义单个 bean

python - 如何在 MongoKit 中获取排序结果?

java - Spring Data 总是返回一个带有反应式 mongo 存储库的空数组

Spring Boot 应用程序在没有 -Djava.net.preferIPv4Stack=true 和 -Djava.net.preferIPv4Addresses 参数的情况下监听 IPv6

mongodb - 使用 userAdminAnyDatabase 角色获取 mongo 授权错误

java - Spring JPA 中的 SQL 聚合 GROUP BY 和 COUNT

java - 我正在使用框架布局,在其中我想要一个 ListView 和一个 float 操作按钮,但 ListView 不会扩展

java - 程序给出线程错误异常

带有 UTF 字符的 Java IO

java - 如果 Android 应用程序无法访问其他应用程序代码,一个应用程序如何检查另一个应用程序是否有病毒?