Définissez Spring Boot application.properties sur la base de la variable d'environnement

J'ai un Ressort de Démarrage de l'application qui sera exécuté dans différents environnements, et en fonction de l'environnement qu'il s'exécute dans, il va se connecter à une autre base de données. J'ai un peu de application.properties fichiers, un pour chaque environnement, qui ressemblent à de tels:

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

etc. etc.

Sur chacune de mes environnements, j'ai une variable d'environnement appelée MYENV qui est défini pour le type d'environnement il est, par exemple local ou someserver (le nom de la application-{env}.properties fichiers correspond parfaitement à l'environnement de nom).

Comment puis-je obtenir printemps de démarrage à lire cette variable d'environnement et de choisir automatiquement le bon .properties fichier? Je ne veux pas avoir à faire toute la -Dspring.profiles.active=someserver en raison de la façon dont ce package est déployé (il ne sera pas courir comme un pot).

source d'informationauteur Tanishq dubey