配置 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();
}
}
但我认为这不适用于环境变量和本地工作。
你应该使用配置文件来做到这一点。
我想通过环境变量将连接 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();
}
}
但我认为这不适用于环境变量和本地工作。
你应该使用配置文件来做到这一点。