Heim > Java > javaLernprogramm > Analyse der Prinzipien der automatischen SpringBoot-Konfiguration

Analyse der Prinzipien der automatischen SpringBoot-Konfiguration

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-05-23 16:07:06
nach vorne
1439 Leute haben es durchsucht

Initialisieren Sie ein Springboot-Projekt. Es wird eine solche Annotation in der Hauptstartklasse geben: @SpringBootApplication. Das Geheimnis der automatischen Assemblierung liegt in der Annotation der Hauptstartklasse Eine Ebene und Sie finden drei. Es besteht aus Unteranmerkungen, nämlich @SpringBootConfiguration, @ComponentScan und @EnableAutoConfiguration

Analyse der Prinzipien der automatischen SpringBoot-KonfigurationIm Folgenden wird die Rolle dieser erläutert Drei Anmerkungen im gesamten automatischen Montageprozess.

1, @SpringBootConfiguration

Klicken Sie hinein und stellen Sie fest, dass es sich um @Configure handelt Dies bedeutet natürlich, dass die aktuelle Hauptstartklasse eine Konfigurationsklasse ist. Im Spring-Container ist es praktisch, beim Start andere Objekte zu verwalten.

2, @ComponentScan

Geben Sie an, welche Spring-Annotationen gescannt werden sollen Der Quellcode wird in diesem Fall ausgeschlossen. 🎜🎜#Automatisches Konfigurationspaket? Die Standardpaketregel ist angegeben

@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
Nach dem Login kopieren

@Import(AutoConfigurationImportSelector.class)

Analyse der Prinzipien der automatischen SpringBoot-Konfiguration

1. Verwenden Sie getAutoConfigurationEntry(annotationMetadata);, um den Container zu stapeln Importieren Sie einige Komponenten

2. Rufen Sie List auf, um alle Konfigurationsklassen abzurufen, die in den Container importiert werden müssen

3. Verwenden Sie die Factory, um Map > loadSpringFactories(@Nullable ClassLoader classLoader); Laden Sie eine Datei vom Speicherort META-INF/spring.factories.

Standardmäßig werden alle Dateien im Speicherort META-INF/spring.factories in unserem aktuellen System gescannt.

Das Paket spring-boot-autoconfigure-2.3.4.RELEASE.jar enthält auch META-INF/ spring.factories#🎜 🎜#

Analyse der Prinzipien der automatischen SpringBoot-KonfigurationAlle Konfigurationsklassen, die Spring-Boot beim Start in den Container lädt, werden in die Datei geschrieben

@Override
    public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)
            throws IOException {
        // 
        if (this.beanFactory instanceof ListableBeanFactory && getClass() == TypeExcludeFilter.class) {
            for (TypeExcludeFilter delegate : getDelegates()) {
                if (delegate.match(metadataReader, metadataReaderFactory)) {
                    return true;
                }
            }
        }
        return false;
    }
Nach dem Login kopieren

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

Verwandte Etiketten:
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