Die kurze Frage:
Wie können Sie Umgebungsprofile oder auch nur einen alternativen Konfigurationsdateinamen konfigurieren? Spring-Boot: laufen?
Die lange Version:
Ja, ich habe das Dokument gelesen. Ссылка
Ich habe meine Anwendungskonfigurationseinstellungen in src / main / resources / application-mysql.properties:
%Vor%Es gibt eine entsprechende Anwendung -hsql.properties, die die gleichen Konfigurationsoptionen für Hsql enthält. Es gibt keine application.properties
Es gibt eine entsprechende import.sql:
%Vor%Die Komponententests existieren nur, um das Vorhandensein dieser Benutzer im Repo zu überprüfen.
Ich glaube, dass es wahr ist, dass, wenn der Test mit der MySql-Konfiguration ausgeführt wird, diese Zeilen der users-Tabelle hinzugefügt werden. Wenn der Test mit hsql ausgeführt wird, sollte die mysql-db nicht betroffen sein. Ich lasse die Benutzertabelle manuell zwischen Läufen fallen, weil ich manuell sehen möchte, wenn es existiert.
1) Wenn ich mvn test starte, verwenden die Tests die konfigurierte db:
%Vor%Erzeugt mysql-Datenbankzeilen und
%Vor%Nicht.
2) Wenn ich ein Paket mache und dann die resultierende JAR-Datei laufe, kann ich einen Konfigurationsdateinamen angeben:
%Vor%3) Wenn ich mit spring-boot: run starte, werden nur Eigenschaften in application.properties (die es in diesem Testszenario nicht gibt) entdeckt.
%Vor%Was macht spring-boot: run beim Starten anders als das Ausführen von Komponententests und das Starten des Jars? Die db config ist ein Beispiel, aber theoretisch wäre ich in der Lage, eine Reihe von Dev-Konfigurationen anzugeben, wenn die Anwendung lokal gegen eine Produktionskonfiguration ausgeführt wird.
Das Maven spring-boot
Plugin gibt einen neuen Prozess frei, daher müssen Sie ihm zusätzliche Parameter über jvmArguments , zB:
mvn spring-boot: run -Drun.jvmArguments="- Dspring.profiles.active = mysql"
Tags und Links maven spring spring-boot