我有一个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读取这个环境变量并自动选择正确的.properties
文件?由于这个软件包的部署方式(它不会作为jar运行),我不想做整个-Dspring.profiles.active=someserver
的操作。