Heim  >  Artikel  >  Java  >  Analyse der Prinzipien der Springboot-Yaml-Konfiguration und der automatischen Konfiguration

Analyse der Prinzipien der Springboot-Yaml-Konfiguration und der automatischen Konfiguration

王林
王林nach vorne
2023-05-13 15:25:061067Durchsuche

Version Arbitration Center

Spring-Abhängigkeiten helfen uns, auf viele häufig verwendete JAR-Pakete zu vertrauen. Für den Import dieser JAR-Pakete sind keine Versionsnummern erforderlich.
Zum Beispiel:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
</dependency>

Automatisches Konfigurationsprinzip

Konfigurationsdateikonfiguration debug: true kann automatisch gedruckt werden Konsolenkonfigurationsbericht. Sie können alle gestarteten automatischen Konfigurationsklassen drucken. Wir müssen also nicht viel manuell konfigurieren

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {

@AutoConfigurationPackage
Alle Komponenten unter dem Paket, in dem sich die Hauptkonfigurationsklasse befindet, werden in den Spring-Container gescannt.

@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {

AutoConfigurationImportSelector

Eine Komponente in den Container importieren über @import:, und diese Komponente lädt alle automatischen Konfigurationsklassen wie MySQL, Web usw. Schließlich gehen Sie zu META-INF/spring.factories, um alle automatischen Konfigurationsklassen zu finden und sie in den Container zu laden Früher haben wir mit Spring viele Konfigurationen durchgeführt

Einfache Anführungszeichen werden in Sonderfällen maskiert. Beispielsweise ist die Ausgabe von n immer noch n.
Doppelte Anführungszeichen werden nicht maskiert. Beispielsweise ist die Ausgabe von n ein Leerzeichen entkommen, genau wie das Hinzufügen von einfachen Anführungszeichen.


Attribute werden in Kamel-Schreibweise und Unterstrich geschrieben. Dies kann jedoch nur in Konfigurationseigenschaften verwendet werden Wird in @Value-Annotationen verwendet. Verwenden Sie die Annotation

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import({Registrar.class})
public @interface AutoConfigurationPackage {

, damit die benutzerdefinierte Konfiguration in der Yaml-Konfiguration Eingabeaufforderungen enthält.

und die Annotation @PropertySource wird zusammen verwendet. Die Annotation @PropertySource kann andere angegebene Dateien laden.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
Wird zusammen mit @ verwendet. ImportResource

, um die Spring-Konfigurationsdatei zu importieren und wirksam zu machen

@PropertySource(value = "classpath:user.properties")

Platzhalter für die Konfigurationsdatei
${random.int } Verwenden Sie die von yaml bereitgestellte Zufallszahl

${server.port} Verwenden Sie den zuvor konfigurierten Wert

$ {server.name: Hallo} Wenn kein Wert vorhanden ist, verwenden Sie den Standardwert

profile

Aktivieren Sie verschiedene Konfigurationsumgebungen und geben Sie sie an

Die Aktivierung über die Befehlszeile kann –spring.profiles.active=dev

Aktivierung von Parametern für virtuelle Maschinen hinzufügen -Dspring.profiles.active=dev

Ladereihenfolge der Konfigurationsdateien

Datei: ./config/ config unter dem Projektstammpfad Verzeichnis

Datei: ./ Projektstammverzeichnis

Klassenpfad: config/
Klassenpfad: /

Alle Dateien werden von oben nach unten mit Priorität von hoch nach niedrig geladen, höhere überschreiben niedrigere. Verschiedene Konfigurationen werden effektiv und ergänzend.
Sie können den Speicherort der Konfigurationsdatei auch über –spring.config.location ändern, wenn Sie das Projekt bereitstellen . Die im Projekt geladene Konfigurationsdatei ist eine Ergänzung zur hier angegebenen Konfigurationsdatei.

Das obige ist der detaillierte Inhalt vonAnalyse der Prinzipien der Springboot-Yaml-Konfiguration und der automatischen Konfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen