Heim >Java >javaLernprogramm >Wie kann ich Spring Boot-Datenbankanmeldeinformationen mithilfe von Umgebungsvariablen in verschiedenen Umgebungen verwalten?

Wie kann ich Spring Boot-Datenbankanmeldeinformationen mithilfe von Umgebungsvariablen in verschiedenen Umgebungen verwalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 11:37:11363Durchsuche

How Can I Manage Spring Boot Database Credentials Across Different Environments Using Environment Variables?

Verwendung von Umgebungsvariablen in den Application.properties von Spring Boot

Bei der Bereitstellung einer Spring Boot-Anwendung in verschiedenen Umgebungen ist es wichtig, harte Codierung zu vermeiden Datenbankanmeldeinformationen in application.properties. Um dieses Problem zu beheben, können Umgebungsvariablen dynamisch in der Eigenschaftendatei referenziert werden.

Um diesen Ansatz zu nutzen, führen Sie die folgenden Schritte aus:

1. Erstellen Sie Systemumgebungsvariablen

Erstellen Sie Umgebungsvariablen lokal und auf allen anderen relevanten virtuellen Maschinen. Benennen Sie diese Variablen genauso wie ihre OpenShift-Gegenstücke und weisen Sie entsprechende Werte zu:

export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost"
export OPENSHIFT_MYSQL_DB_PORT="3306"
export OPENSHIFT_MYSQL_DB_USERNAME="root"
export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"

2. Referenzieren von Umgebungsvariablen in application.properties

Um Umgebungsvariablen in application.properties einzuschließen, verwenden Sie die folgende Syntax:

spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB"
spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME}
spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}

3. Alternativer Ansatz (empfohlen)

Eine prägnantere und handlichere Lösung, die von @Stefan Isele vorgeschlagen wurde, ist jedoch die Verwendung von Spring-Profilen:

  • Mehrere erstellen Eigenschaftendateien mit dem Namen application-{profile-name}.properties.
  • Legen Sie die Umgebungsvariable spring.profiles.active fest auf das gewünschte Profil (z. B. application-local.properties).

Spring liest automatisch die entsprechende Eigenschaftendatei basierend auf dem angegebenen Profil.

Durch Befolgen dieser Techniken können Sie dies tun Konfigurieren Sie Ihre Spring Boot-Anwendung dynamisch basierend auf der Umgebung, in der sie bereitgestellt wird, ohne vertrauliche Informationen in application.properties fest codieren zu müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich Spring Boot-Datenbankanmeldeinformationen mithilfe von Umgebungsvariablen in verschiedenen Umgebungen verwalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn