Heim > Java > javaLernprogramm > Wann sollte in Java 9 die ServiceLoader-Klasse in einem Modul verwendet werden?

Wann sollte in Java 9 die ServiceLoader-Klasse in einem Modul verwendet werden?

PHPz
Freigeben: 2023-08-25 19:05:02
nach vorne
1535 Leute haben es durchsucht

在Java 9中,何时使用ServiceLoader类在模块中呢?

Java verfügt über eine ServiceLoader-Klasse aus dem java.util-Paket, die beim Auffinden von Diensten hilft, indem sie im Klassenpfad nach ihnen sucht und zur Laufzeit Anbieter bereitstellt. Für in Modulen definierte Dienstanbieter können wir uns die Beispielanwendung zum Deklarieren eines Moduls mit Diensten und deren Funktionsweise ansehen.

Zum Beispiel haben wir eine „test.appmüssen das Logger-Modul verwenden, das mit Hilfe des Dienstes 我们需要使用 Logger 模块,可以借助 LoggerFinder aus der Factory-Methode System.getLogger() abgerufen werden kann.

<strong>module com.tutorialspoint.test.app {
   requires java.logging;
   exports com.tutorialspoint.platformlogging.app;
   uses java.lang.System.LoggerFinder;
}</strong>
Nach dem Login kopieren

Hier ist test.app. Klasse:

package com.tutorialspoint.platformlogging.app;

public class MainApp {
   private static <strong>Logger </strong>LOGGER = <strong>System.getLogger()</strong>;
   public static void main(String args[]) {
      LOGGER.log();
   }
}
Nach dem Login kopieren

" Moduldeklaration können wir übergeben „

Bereitstellen –

„Bereitstellen der Implementierung des

LoggerFinder

Service>“

package com.tutorialspoint.platformlogging.logger;

public class MyLoggerFinder extends LoggerFinder {
   <strong>@Override</strong>
   public Logger getLogger(String name, Module module) {
      // return a Logger depending on name/module
   }
}
Nach dem Login kopieren
.

Das obige ist der detaillierte Inhalt vonWann sollte in Java 9 die ServiceLoader-Klasse in einem Modul verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.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