配置 Spring 引导应用程序以使用环境变量中提供的 MongoDB 连接 uri

Configure Spring Boot application to use MongoDB connection uri provided in environment variable

我想通过环境变量将连接 uri 配置到我的 MongoDB。这样,我可以在本地主机上设置不同的值,或者如果 Spring 引导应用程序在云中是 运行。

我已将 mongodb 包含在我的 build.gradle 文件中:

dependencies {
    compile 'org.springframework.cloud:spring-cloud-spring-service-connector:1.2.2.RELEASE'
    compile("org.springframework.boot:spring-boot-starter-data-mongodb")
    ...
}

为了在本地工作,我目前在 applications.properties 中设置了 spring.data.mongodb.uri=mongodb://...,但我更希望从环境变量中读取该值。我怎样才能做到这一点?

我已经阅读了有关 Spring Boot 和 Cloud 的文章,建议像这样以某种方式扩展 AbstractCloudConfig:

public class CloudConfig extends AbstractCloudConfig {

    @Bean
    public MongoDbFactory documentMongoDbFactory() {
        return connectionFactory().mongoDbFactory();
    }

}

但我认为这不适用于环境变量和本地工作。

你应该使用配置文件来做到这一点。

Read about profiles

Read how to use Profiles

How to Set Profiles