Heim > Java > javaLernprogramm > Wie findet Springboot die Reihenfolge und Priorität der Konfigurationsdateipfade?

Wie findet Springboot die Reihenfolge und Priorität der Konfigurationsdateipfade?

WBOY
Freigeben: 2023-05-26 08:58:18
nach vorne
2576 Leute haben es durchsucht

    Die Reihenfolge und Priorität der Suche nach Konfigurationsdateipfaden

    1 Die Reihenfolge und Priorität der Suche nach Konfigurationsdateipfaden durch Springboot

    In der Projektklasse gibt es vier Stellen, die das System automatisch scannt:

    1 .file :/config/

    2.file:/

    3.classPath:/config/

    4.classPath:/

    1) Seine Datei hat die Prioritätsstufe, von oben nach unten, das heißt, falls vorhanden Sind die gleichen Attribute in unterschiedlichen Pfaden vorhanden, wird den oben genannten Pfadattributen Priorität eingeräumt (1>2>3>4)

    2) Die Pfad-Scan-Reihenfolge ist entgegengesetzt zu ihrer Priorität (4>3>2>1), die spätere Die einzelnen Pfade überschreiben die vorherigen und alle Pfade werden gescannt, um sich gegenseitig zu ergänzen.

    2. Ladereihenfolge und Priorität von

    application.properties (application.yml), bootstrap.properties (bootstrap.yml) unter demselben Pfad

    1. Anwendungs- und Bootstrap-Vergleich (Präfixvergleich)

    Tipps: Bootstrap-Dateien werden nur wirksam, wenn Springcloud-bezogene Konfigurationen in Multi-Service-Projekten eingeführt werden. Springboot scannt nicht automatisch Bootstrap-Dateien, sondern nur Anwendungsdateien, sodass der Vergleich zwischen den beiden nur in Springcloud-Multi-Service-Projekten sinnvoll ist.

    1) Ladereihenfolge: Wenn sich Anwendung und Bootstrap im selben Verzeichnis befinden: Bootstrap wird zuerst geladen und die Anwendung wird später geladen

    Bootstrap-Eigenschaften haben eine höhere Priorität und werden standardmäßig nicht durch die lokale Konfiguration überschrieben. (Das sagen das Internet und die Beamten, aber nach meinen eigenen Tests habe ich festgestellt, dass die Anwendung den Bootstrap überschreibt. Nach meinem Verständnis haben alle Bootstrap-Attribute Vorrang vor der Anwendung. Nur die Konfiguration, die sich auf das zugrunde liegende System bezieht, wird höher sein. Dort Es gibt unterschiedliche Meinungen. Bro, gerne diskutieren)

    3) Unterschied: Sowohl Bootstrap als auch Anwendung können zum Konfigurieren von Parametern verwendet werden.

    Bootstrap wird für das frühe Bootstrapping von Anwendungen und das Lesen von Konfigurationsinformationen verwendet. Dies kann so verstanden werden, dass sich einige Parameterkonfigurationen auf Systemebene im Allgemeinen nicht ändern. Sobald Bootstrap geladen ist, wird der Inhalt nicht überschrieben.

    application.yml kann zum Definieren anwendungsspezifischer Konfigurationsinformationen auf Anwendungsebene und zum Konfigurieren öffentlicher Parameter zur Verwendung in nachfolgenden Modulen usw. verwendet werden.

    4) Typische Bootstrap-Anwendungsszenarien (klassische drei Punkte)

    • 1. Bei Verwendung des Spring Cloud Config Server-Konfigurationscenters müssen Sie n.name und spring in der Konfigurationsdatei spring.applicatio in bootstrap.yml angeben .cloud.config.server.git.uri, fügen Sie Konfigurationseigenschaften hinzu, die mit dem Konfigurationscenter verbunden sind, um die Konfigurationsinformationen des externen Konfigurationscenters zu laden

    • 2 Einige feste Eigenschaften, die nicht überschrieben werden können

    • 3 /Entschlüsselungsszenario

    2. .properties- und .yml-Vergleich (Suffixvergleich)

    1) Ladereihenfolge

    .yml vor .properties

    2) Prioritätsstufe

    .properties hat Vorrang vor .yml, weil Beim späteren Laden von .properties wird .yml überschrieben.

      1.yml hat eine natürliche Baumstruktur und Eigenschaften sind Schlüssel-Wert-Paare.
    • 2 Die Eigenschaftendatei ist mit „.“ geteilt ,:“ wird zur Trennung in .yml verwendet;
    • 3 darf nicht zum Einrücken in .yml verwendet werden, da sonst ein sehr seltsamer Fehler gemeldet wird;; Eigenschaften Freundlicher für den chinesischen Support.
    • 5.yml ist sprachübergreifend: Es kann in einer großen Anzahl von Sprachen verwendet werden, einschließlich JAVA, Go, Python usw. Wenn Sie beispielsweise Go und Java für Cloud Computing verwenden, können Sie dasselbe verwenden Konfiguration über das Konfigurationscenter!
    • 6. Beim Anpassen der Konfigurationsdatei können Sie nur Eigenschaften verwenden, da Spring nur über die Annotation @PropertiesSource verfügt, die benutzerdefinierte Annotationen einführen kann und keine Unterstützung für yml bietet.
    • Zusammenfassung: Im selben Verzeichnis ist die Priorität Ebene Anwendung> Bootstrap,.properties>,yml, das Präfix ist größer als das Suffix, der Dateipfad ist größer als der Dateiname
    • Der Grund, warum die Springboot-Konfigurationsdatei nicht wirksam wird

    • 1 Methode zum Glas.
    <packaging>jar</packaging>
    Nach dem Login kopieren

    2. Es kann sein, dass das Verkleinerungsformat der YML-Datei falsch ist, überprüfen Sie es einfach sorgfältig.

    3. Außerdem ist Ihr Projekt überhaupt kein Boot-Projekt, application.yml hat keine Blattmarkierung

    2. Öffnen Sie das Modul und klicken Sie einmal

    3.

    Wie findet Springboot die Reihenfolge und Priorität der Konfigurationsdateipfade?4. Refactoring-Projekt

    Das obige ist der detaillierte Inhalt vonWie findet Springboot die Reihenfolge und Priorität der Konfigurationsdateipfade?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:yisu.com
    Erklärung dieser Website
    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
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage