Was ist Javas SPI?
May 06, 2023 pm 06:28 PMKonzept
1. Der integrierte Dienstanbieter-Erkennungsmechanismus des JDK ist eine von Java bereitgestellte Implementierung oder erweiterte API, die zur Erweiterung des Frameworks und zum Austausch von Komponenten verwendet werden kann.
Spezifische Konventionen von Java SPI
Wenn es sich unter dem Klassenpfad befindet, wird auch eine nach der Serviceschnittstelle benannte Datei im Verzeichnis META-INF/services/ unter dem Klassenpfad erstellt. Diese Datei ist die spezifische Implementierungskategorie, die diese Serviceschnittstelle implementiert.
Wenn ein externes Programm das Modul zusammenstellt, können Sie den spezifischen Namen der Implementierungskategorie über die Konfigurationsdatei im JAR-Paket META-INF/services/ finden und die Instanz laden, um die Modulinjektion abzuschließen.
2. Der Aufrufer kann die Implementierungsstrategie des Frameworks je nach tatsächlichem Bedarf aktivieren, erweitern oder ersetzen.
Häufige Beispiele:
Die Schnittstelle zum Laden von Datenbanktreibern implementiert das Laden von Klassen.
JDBC-Last steuert verschiedene Arten von Datenbanken.
Laden der Implementierungsklasse der Protokollierungsschnittstelle.
SLF4J lädt Protokollimplementierungsklassen von verschiedenen Anbietern.
Spring
Spring, SPI wird häufig verwendet, zum Beispiel: Die Servlet3.0-Spezifikation implementiert ServletContainerInitializer, automatische Typkonvertierung TypeConversionSPI (ConverterSPI, FormatterSPI) und so weiter.
Welche Sammlungsklassen gibt es in Java?
Sammlungen in Java sind hauptsächlich in vier Kategorien unterteilt:
Warteschlange: geordnet, wiederholbar;
Sammlung: nicht -wiederholbar;
4. Kartenzuordnung: ungeordnet, mit eindeutigen Schlüsseln und nicht eindeutigen Werten.
Das obige ist der detaillierte Inhalt vonWas ist Javas SPI?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Brechen oder aus Java 8 Stream foreach zurückkehren?
