Heim > Java > javaLernprogramm > Was ist Javas SPI?

Was ist Javas SPI?

WBOY
Freigeben: 2023-05-06 18:28:23
nach vorne
1687 Leute haben es durchsucht

Konzept

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!

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