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>
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ührtEinfache 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 {
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${random.int } Verwenden Sie die von yaml bereitgestellte Zufallszahl@PropertySource(value = "classpath:user.properties")
Platzhalter für die Konfigurationsdatei
${server.port} Verwenden Sie den zuvor konfigurierten Wert
$ {server.name: Hallo} Wenn kein Wert vorhanden ist, verwenden Sie den Standardwertprofile
Aktivieren Sie verschiedene Konfigurationsumgebungen und geben Sie sie an
Die Aktivierung über die Befehlszeile kann –spring.profiles.active=devAktivierung von Parametern für virtuelle Maschinen hinzufügen -Dspring.profiles.active=dev
Ladereihenfolge der KonfigurationsdateienDatei: ./config/ config unter dem Projektstammpfad VerzeichnisKlassenpfad: /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!