繁体   English   中英

如何使用 Mongo 生产数据库配置 SpringBootApp

[英]How to Configure SpringBootApp with a Mongo Production Database

我正在使用 Mongo DB 创建一个 Spring 引导应用程序,并为如何设置生产数据库配置而摸不着头脑。

使用基于 SQL 的数据库,我习惯于像这样设置数据源 bean

@Bean
public DataSource getDataSource()
{
    DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
    dataSourceBuilder.driverClassName("org.h2.Driver");
    dataSourceBuilder.url("jdbc:h2:file:C:/temp/test");
    dataSourceBuilder.username("sa");
    dataSourceBuilder.password("");
    return dataSourceBuilder.build();
}

然而,

  1. 似乎不需要 - 我的本地应用程序连接到 mongo db 的旋转实例而无需任何显式配置。
  2. 根据 [this post][1],这似乎不是 mongo 的标准

我想我会给它一个 go 看看它是否会在生产中自动配置,但我得到了一个 DataAccessResourceFailureException。 信息:heroku,是否添加了 mLab MongoDB。

我得到 url 没有问题,我当然可以将它放入环境变量中,但我只是不确定我需要添加到我的应用程序中来配置它。

在 application.properties 文件中设置值,如下所示

spring.data.mongodb.database = ${SPRING_DATA_MONGODB_DATABASE}
spring.data.mongodb.host = ${SPRING_DATA_MONGODB_HOST}
spring.data.mongodb.port = ${SPRING_DATA_MONGODB_PORT}

您可以使用@Value注释并访问您正在使用的 Spring bean 中的属性

@Value("${userBucket.path}")
private String userBucketPath;

Spring 引导文档的外部化配置部分解释了您可能需要的所有详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM