Package | Description |
---|---|
org.dromara.hutool.core.spi |
服务提供接口SPI(Service Provider interface)机制相关封装,包括:
ListServiceLoader ,提供列表形式的服务定义
MapServiceLoader ,提供键值对形式的服务定义
|
Modifier and Type | Class and Description |
---|---|
class |
AbsServiceLoader<S>
抽象服务加载器,提供包括路径前缀、服务类、类加载器、编码、安全相关持有
|
class |
ListServiceLoader<S>
列表类型的服务加载器,用于替换JDK提供的
ServiceLoader 相比JDK,增加了: 可选服务存储位置(默认位于META-INF/services/)。 |
class |
MapServiceLoader<S>
键值对服务加载器,使用
Properties 加载并存储服务服务文件默认位于"META-INF/hutool/"下,文件名为服务接口类全名。 |
Modifier and Type | Method and Description |
---|---|
static <T> ServiceLoader<T> |
SpiUtil.loadList(Class<T> clazz)
加载服务
|
static <T> ServiceLoader<T> |
SpiUtil.loadList(Class<T> clazz,
ClassLoader loader)
加载服务
|
Modifier and Type | Method and Description |
---|---|
static <S> S |
SpiUtil.loadFirstAvailable(ServiceLoader<S> serviceLoader)
加载第一个可用服务,如果用户定义了多个接口实现类,只获取第一个不报错的服务
|
Copyright © 2025. All rights reserved.