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

时间:2016-07-19 14:44:43

标签: spring-boot spring-mongodb

我想通过环境变量为我的MongoDB配置connection-uri。这样,我可以在localhost上设置不同的值,或者Spring Boot应用程序是否在云中运行。

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

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

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

我读过有关Spring Boot和Cloud的文章,建议以某种方式扩展AbstractCloudConfig:

public class CloudConfig extends AbstractCloudConfig {

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

}

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

1 个答案:

答案 0 :(得分:1)

您应该使用配置文件来执行此操作。

Read about profiles

Read how to use Profiles

How to Set Profiles