基于环境变量设置 Spring Boot 应用程序.属性
我有一个Spring Boot应用程序,它将在各种环境中运行,并且基于它运行的环境,它将连接到不同的数据库。我有几个文件,每个环境一个,看起来像这样:application.properties
application-local.properties
:
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=dbuser
spring.datasource.password=123456789
application-someserver.properties
:
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://someserver:5432/myproddb
spring.datasource.username=produser
spring.datasource.password=productionpass
等等等等。
在我的每个环境中,我都有一个名为环境变量的环境变量,该变量设置为环境类型,例如或(文件名与环境名称完全匹配)。MYENV
local
someserver
application-{env}.properties
如何让 Spring boot 读取此环境变量并自动选择正确的文件?我不想因为这个包的部署方式而不得不做整个事情(它不会作为jar运行)。.properties
-Dspring.profiles.active=someserver