使用环境变量在 Spring Boot 中配置 MongoDB
Posted
技术标签:
【中文标题】使用环境变量在 Spring Boot 中配置 MongoDB【英文标题】:Configure MongoDB in Spring Boot using environment variables 【发布时间】:2017-09-06 13:54:59 【问题描述】:我是 Spring Boot 的新手,我正在尝试使用环境变量配置与 MongoDB 的连接 - 即我已经按照在线示例展示了如何通过 application.properties 配置我的 mongo 数据库/主机/端口,但我想要我的配置来自环境变量 - 最好的方法是什么? 谢谢
【问题讨论】:
您可以在 application.properties 下指定 mongodb 属性,并使用 spring 提供的 MongoTemplate 建立连接并访问示例:spring.data.mongodb.database=test spring.data.mongodb.uri= mongodb://localhost:27017/test spring.data.mongodb.repositories.enabled=true 我已经使用在线示例进行了管理,但我想知道最好的方法是使用环境变量,而不是在 application.properties 文件中指定值 嗨 - 对不起,作为一个刚接触堆栈溢出的人,为什么这个问题是 -1?这个问题有问题吗?只是想知道...... 【参考方案1】:经过一番挖掘,我设法通过使用 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
【讨论】:
我认为这与我在评论中提到的相同,您使用了 3 个不同的变量,而我在一个变量下提到了所有这些 抱歉,您的值是硬编码的,我希望通过环境变量注入值,除非我误解了?【参考方案2】:如有必要,您还可以定义一个备用值
spring.data.mongodb.host = $SPRING_DATA_MONGODB_HOST:localhost
【讨论】:
以上是关于使用环境变量在 Spring Boot 中配置 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章
spring boot 使用application.properties 进行外部配置