Wenn Sie eine App mit Spring (Boot) erstellen, möchten Sie möglicherweise den Wert aus der Systemumgebungsvariablen abrufen. Ich werde die Erfassungsmethode vorstellen, die auch als Memo dient.
Wenn Sie beispielsweise eine Verbindung zur Datenbank herstellen möchten, müssen Sie in "application.properties" Folgendes festlegen.
application.properties
###DB-Verbindungseinstellungswert###
spring.datasource.url=<Datenbank-URL>
spring.datasource.username=<Nutzername>
spring.datasource.password=<Passwort>
In einem solchen Fall können die folgenden Vorteile berücksichtigt werden, wenn jeder Einstellungswert von der Systemumgebungsvariablen erfasst wird.
① __ Es ist nicht erforderlich, für jede Umgebung eine Einstellungsdatei zu erstellen. __ __ Dieselbe Konfigurationsdatei kann in anderen Umgebungen verwendet werden, indem die Umgebungsvariablen im Voraus oder zur Laufzeit festgelegt werden. Es ist mühsam, mehrere Einstellungsdateien (z. B. "application-devXX.properties") für jede Umgebung zu erstellen und zu verwalten, sodass sie weggelassen werden können.
Es ist auch nicht erforderlich, den Prozess zum Festlegen der zu lesenden Datei für jede Umgebung im Quellcode zu schreiben. (Da Spring Boot standardmäßig application.properties
lädt)
② __ Dies führt zu einer Verbesserung der Sicherheit. __ __
Wenn Sie die Informationen, die Sie geheim halten möchten, wie Benutzername und Pfadkennwort, in application.properties
ablegen und in das Remote-Repository hochladen, kann dies zu einem Sicherheitsproblem führen.
Wenn Sie es als Umgebungsvariable festlegen, wird der Wert nicht direkt geschrieben, sodass Sie ihn sicher in das Remote-Repository übertragen können.
application.properties
Stellen Sie das folgende Format ein.
application.properties
spring.datasource.url=${SPRING_DATASOURCE_URL}
spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
Wenn Sie beispielsweise spring.datasource.username = $ {SPRING_DATASOURCE_USERNAME}
erklären,
(1) Fügen Sie zunächst der Systemumgebungsvariablen eine Variable wie "SPRING_DATASOURCE_USERNAME = HogeHoge" hinzu. Ersetzen Sie für den Namen der Umgebungsvariablen den Zielwert "". "" In der Einstellungsdatei durch "_" und setzen Sie ihn dann groß.
spring.datasource.username
⇒ spring_datasource_username
⇒ SPRING_DATASOURCE_USERNAME
(2) Setzen Sie in application.properties
den Namen der Systemumgebungsvariablen auf den in $ {}
enthaltenen Wert, z. B.$ {SPRING_DATASOURCE_USERNAME}
.
Jetzt sind die Systemumgebungsvariablen unter application.properties
verfügbar.
Wenn Sie mit Eclipse oder sts entwickeln, nachdem Sie Systemumgebungsvariablen hinzugefügt haben, diejenigen, die die Spring Boot-App auf eclipse (sts) starten oder einmal neu starten, wenn Sie versuchen, JUnit auszuführen Ist gut. Systemumgebungsvariablen werden möglicherweise nicht gelesen und es kann ein Fehler auftreten.
Wahrscheinlich, weil die Systemumgebungsvariable beim Starten von Eclipse (sts) gelesen und verwendet wird, auch wenn die Umgebungsvariable beim Start hinzugefügt wird, wird sie nicht wiedergegeben, aber die Details sind unbekannt.
Systemumgebungsvariablen können aus der Einstellungsdatei verwendet werden! !! !! !! !! (Wazap)
Recommended Posts