Der Einfluss der neuen Corona zeigt sich allmählich am Arbeitsplatz, und ich bin begeistert, wenn ich aufhöre zu arbeiten.
In der Zwischenzeit war ich zum ersten Mal seit langer Zeit süchtig danach und beschloss, es aufzunehmen. Wenn Sie es verstehen können, ist es außerdem eine sehr einfache Geschichte und ziemlich verbeult. Vielleicht ist es für Java-Enthusiasten zu rudimentär, um es im Web zu veröffentlichen. ..
8h für so eine einfache Sache.
https://github.com/t-o-z/configuration-demo
Einrichtung gemäß Readme,
docker run config-demo
Dann ist es in application.properties enthalten
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.4.RELEASE)
2020-02-27 09:51:15.557 INFO 7 --- [ main] c.z.c.ConfigurationDemoApplication : Starting ConfigurationDemoApplication v0.0.1-SNAPSHOT on 6c889b4a8ada with PID 7 (/usr/src/myapp/configuration-demo-0.0.1-SNAPSHOT.jar started by root in /usr/src/myapp)
2020-02-27 09:51:15.566 INFO 7 --- [ main] c.z.c.ConfigurationDemoApplication : No active profile set, falling back to default profiles: default
2020-02-27 09:51:16.918 INFO 7 --- [ main] c.z.c.ConfigurationDemoApplication : Started ConfigurationDemoApplication in 2.482 seconds (JVM running for 3.809)
key1-value
Wird angezeigt.
Wenden Sie application.properties unter Klassen an
sample.key1=key1-value1
Auch wenn Sie es neu schreiben und erneut ausführen
user:configuration-demo user$ docker run config-demo
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.4.RELEASE)
2020-02-27 09:58:45.004 INFO 6 --- [ main] c.z.c.ConfigurationDemoApplication : Starting ConfigurationDemoApplication v0.0.1-SNAPSHOT on 9999dad12dac with PID 6 (/usr/src/myapp/configuration-demo-0.0.1-SNAPSHOT.jar started by root in /usr/src/myapp)
2020-02-27 09:58:45.014 INFO 6 --- [ main] c.z.c.ConfigurationDemoApplication : No active profile set, falling back to default profiles: default
2020-02-27 09:58:46.425 INFO 6 --- [ main] c.z.c.ConfigurationDemoApplication : Started ConfigurationDemoApplication in 2.564 seconds (JVM running for 3.881)
key1-value
Es wird nicht reflektiert. ..
Ich habe verschiedene Dinge ausprobiert.
Auch wenn Sie die Gegenmaßnahmen überprüfen
Es gibt verschiedene solche Dinge, aber ist es möglich, dies mit nur einer Datei zu tun? Ich hatte nicht viele Informationen. Das letzte Hot Reload besteht darin, einen Server einzurichten, um dies zu tun.
** Nach / config kopieren! ** ** **
Ich habe es schon nach Versuch und Irrtum fett gemacht,
classes/config
Das ist nicht gut.
/config
Erstellen Sie eine neue und platzieren Sie Klassen / application.properties darin.
sample.key1=modify
Starten Sie Docker (eine Neuerstellung ist erforderlich, da es sich um KOPIEREN handelt).
Otsuka:configuration-demo otsukatakuya$ docker run config-demo
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.4.RELEASE)
2020-02-27 10:54:32.393 INFO 6 --- [ main] c.z.c.ConfigurationDemoApplication : Starting ConfigurationDemoApplication v0.0.1-SNAPSHOT on c43d6b28259a with PID 6 (/usr/src/myapp/configuration-demo-0.0.1-SNAPSHOT.jar started by root in /usr/src/myapp)
2020-02-27 10:54:32.403 INFO 6 --- [ main] c.z.c.ConfigurationDemoApplication : No active profile set, falling back to default profiles: default
2020-02-27 10:54:33.804 INFO 6 --- [ main] c.z.c.ConfigurationDemoApplication : Started ConfigurationDemoApplication in 2.474 seconds (JVM running for 3.59)
modify
https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
Es wurde in der offiziellen Referenz von Spring Boot erwähnt.
SpringApplication loads properties from application.properties files in the following locations and adds them to the Spring Environment:
- A /config subdirectory of the current directory
- The current directory
- A classpath /config package
- The classpath root
The list is ordered by precedence (properties defined in locations higher in the list override those defined in lower locations).
Ich wollte 1 versuchen, aber ich konnte nicht zuerst 3 versuchen. .. Vielleicht ist der Klassenpfad im Glas enthalten und steht in Konflikt damit?
Einige Leute haben eine Möglichkeit vorgeschlagen, Ausschlüsse in pom.xml zu schreiben und sie nicht in den Build aufzunehmen, aber alles, was Sie tun müssen, ist, sie hinzuzufügen! Ich habe viel gelernt, weil nicht viele Artikel präzise geschrieben wurden.
Recommended Posts