Uses of Interface
org.miaixz.bus.core.lang.loader.spi.ServiceLoader
Packages that use ServiceLoader
Package
Description
服务提供接口SPI(Service Provider interface)机制相关封装,包括:
ListServiceLoader,提供列表形式的服务定义
MapServiceLoader,提供键值对形式的服务定义
提供各种工具封装 xyz:做好一切必要准备,可以行动了
-
Uses of ServiceLoader in org.miaixz.bus.core.lang.loader.spi
Classes in org.miaixz.bus.core.lang.loader.spi that implement ServiceLoaderModifier and TypeClassDescriptionclass抽象服务加载器,提供包括路径前缀、服务类、类加载器、编码、安全相关持有class列表类型的服务加载器,用于替换JDK提供的ServiceLoader相比JDK,增加了: 可选服务存储位置(默认位于META-INF/services/)。 可自定义编码。 可自定义加载指定的服务实例。 可自定义加载指定的服务类,由用户决定如何实例化(如传入自定义构造参数等)。 提供更加灵活的服务加载机制,当选择加载指定服务时,其它服务无需加载。class键值对服务加载器,使用Properties加载并存储服务 服务文件默认位于"META-INF/bus/"下,文件名为服务接口类全名。 内容类似于: -
Uses of ServiceLoader in org.miaixz.bus.core.xyz
Methods in org.miaixz.bus.core.xyz that return ServiceLoaderModifier and TypeMethodDescriptionstatic <T> ServiceLoader<T> 加载服务static <T> ServiceLoader<T> SPIKit.loadList(Class<T> clazz, ClassLoader loader) 加载服务Methods in org.miaixz.bus.core.xyz with parameters of type ServiceLoaderModifier and TypeMethodDescriptionstatic <S> SSPIKit.loadFirstAvailable(ServiceLoader<S> serviceLoader) 加载第一个可用服务,如果用户定义了多个接口实现类,只获取第一个不报错的服务