Inhaltsverzeichnis
Welche Sammlungsklassen gibt es in Java?
Heim Java javaLernprogramm Was ist Javas SPI?

Was ist Javas SPI?

May 06, 2023 pm 06:28 PM
java spi

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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Quadratwurzel in Java

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Perfekte Zahl in Java

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Zufallszahlengenerator in Java

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Armstrong-Zahl in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Smith-Nummer in Java

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

Fragen zum Java Spring-Interview

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Brechen oder aus Java 8 Stream foreach zurückkehren?

See all articles