java - 什么是 ServiceLoader 以及如何使用它?

标签 java serviceloader

我遇到了 the documentation of ServiceLoader并且不清楚它适用于哪些用例。

什么时候使用ServiceLoader

最佳答案

当您希望您的程序具有“插件”功能时,您可以使用 ServiceLoader。当您希望人们通过将 jar 文件添加到包含特定功能子集实现的类路径来自定义您的应用程序时,您可以使用 ServiceLoader 在类路径中查找这些实现。

ServiceLoader 本身是 jar SPI specification 的一个实现,已经存在了很长时间。 (我相信它是在 Java 1.3 中引入的。)

Java SE 已经在很多地方将它用于这个目的,包括:

关于java - 什么是 ServiceLoader 以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52204709/

相关文章:

java - AndroidViewModel 没有零参数构造函数

java - 为什么应用程序模块不需要提供服务的模块?

java - ServiceLoader,其中类型 parm 本身是通用的

java - 如何使用 com.sun.net.httpserver 包含 css 文件?

java - 如何禁用Spring Boot的自动提交?

java - Activity 中的自定义标题图标

java - 使用类图在java中实现聚合和组合

java - 简单的 ServiceLoader - java.util.ServiceConfigurationError ... 提供者 ... 未找到

Java SPI - ServiceLoader - 将多个 JAR 添加到 APP 类路径

Java 9 ServiceLoader 运行时模块加载和替换