S
- 服务类型public class ListServiceLoader<S> extends AbsServiceLoader<S>
ServiceLoader
服务文件默认位于"META-INF/services/"下,文件名为服务接口类全名。内容类似于:
# 我是注释 hutool.service.Service1 hutool.service.Service2
通过调用getService(int)
方法,传入序号,即可获取对应服务。
charset, classLoader, pathPrefix, serviceClass
Constructor and Description |
---|
ListServiceLoader(String pathPrefix,
Class<S> serviceClass,
ClassLoader classLoader,
Charset charset)
构造
|
Modifier and Type | Method and Description |
---|---|
S |
getService(int index)
获取指定序号对应的服务,使用缓存,多次调用只返回相同的服务对象
|
S |
getService(String serviceName)
获取指定名称对应的服务
|
Class<S> |
getServiceClass(int index)
获取指定服务的实现类
|
Class<S> |
getServiceClass(String serviceName)
获取指定服务的实现类
|
List<String> |
getServiceNames()
获取服务名称列表
|
Iterator<S> |
iterator() |
void |
load()
加载服务
|
static <S> ListServiceLoader<S> |
of(Class<S> serviceClass)
构建KVServiceLoader
|
static <S> ListServiceLoader<S> |
of(Class<S> serviceClass,
ClassLoader classLoader)
构建KVServiceLoader
|
static <S> ListServiceLoader<S> |
of(String pathPrefix,
Class<S> serviceClass,
ClassLoader classLoader)
构建KVServiceLoader
|
int |
size()
服务总数
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public ListServiceLoader(String pathPrefix, Class<S> serviceClass, ClassLoader classLoader, Charset charset)
pathPrefix
- 路径前缀serviceClass
- 服务名称classLoader
- 自定义类加载器, null
表示使用默认当前的类加载器charset
- 编码,默认UTF-8public static <S> ListServiceLoader<S> of(Class<S> serviceClass)
S
- 服务类型serviceClass
- 服务名称public static <S> ListServiceLoader<S> of(Class<S> serviceClass, ClassLoader classLoader)
S
- 服务类型serviceClass
- 服务名称classLoader
- 自定义类加载器, null
表示使用默认当前的类加载器public static <S> ListServiceLoader<S> of(String pathPrefix, Class<S> serviceClass, ClassLoader classLoader)
S
- 服务类型pathPrefix
- 路径前缀serviceClass
- 服务名称classLoader
- 自定义类加载器, null
表示使用默认当前的类加载器public void load()
ServiceLoader
public int size()
ServiceLoader
public List<String> getServiceNames()
ServiceLoader
public Class<S> getServiceClass(int index)
index
- 服务名称public Class<S> getServiceClass(String serviceName)
ServiceLoader
serviceName
- 服务名称public S getService(int index)
index
- 服务名称public S getService(String serviceName)
ServiceLoader
serviceName
- 服务名称Copyright © 2025. All rights reserved.