使用spring-boot版本1.2.5
在开发过程中,我尝试将我的应用程序默认使用通过 vagrant 本地托管的 mongo 数据库
./gradlew bootrun
在 aws 中,我想使用托管在 ec2 实例上的 mongo 数据库
jar -jar my.jar -Dspring.profiles.active=aws
应用程序属性
spring.profiles.active=development
application.yml
spring:
profiles: development
data:
mongodb:
host: 10.11.12.13
port: 27017
---
spring:
profiles: aws
data:
mongodb:
host: ec2-xyz.compute-1.amazonaws.com
port: 27017
但是,在开发中运行时,mongo 会尝试连接 localhost:27017 (这是默认的 spring-mongo 行为)
编辑:实际上,我认为这是有效的。我不确定最初导致错误的原因
编辑:我也可以将所有这些移动到 YAML 文件中
最佳答案
我原来的解决方案实际上是正确的。
我最终将 application.properties
移至 application.yml
。
application.yml
spring:
profiles:
active: development
---
spring:
profiles: development
data:
mongodb:
host: 10.11.12.13
port: 27017
---
spring:
profiles: aws
data:
mongodb:
host: ec2-x-y-z-a.compute-1.amazonaws.com
port: 27017
开发配置文件可以设为“默认”
默认使用开发配置的application.yml
spring:
data:
mongodb:
host: 10.11.12.13
port: 27017
---
spring:
profiles: aws
data:
mongodb:
host: ec2-x-y-z-a.compute-1.amazonaws.com
关于spring - application.properties 和 application.yml 可以混合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970576/