public class JdkServiceLoaderUtil extends Object
1、创建接口,并创建实现类
2、ClassPath/META-INF/services下创建与接口全限定类名相同的文件
3、文件内容填写实现类的全限定类名
相关介绍见:https://www.jianshu.com/p/3a3edbcd8f24| Constructor and Description |
|---|
JdkServiceLoaderUtil() |
| Modifier and Type | Method and Description |
|---|---|
static <T> ServiceLoader<T> |
load(Class<T> clazz)
加载服务
|
static <T> ServiceLoader<T> |
load(Class<T> clazz,
ClassLoader loader)
加载服务
|
static <T> T |
loadFirst(Class<T> clazz)
加载第一个服务,如果用户定义了多个接口实现类,只获取第一个。
|
static <T> T |
loadFirstAvailable(Class<T> clazz)
。
|
static <T> List<T> |
loadList(Class<T> clazz)
加载服务 并已list列表返回
|
static <T> List<T> |
loadList(Class<T> clazz,
ClassLoader loader)
加载服务 并已list列表返回
|
public static <T> T loadFirstAvailable(Class<T> clazz)
T - 接口类型clazz - 服务接口nullpublic static <T> T loadFirst(Class<T> clazz)
T - 接口类型clazz - 服务接口nullpublic static <T> ServiceLoader<T> load(Class<T> clazz)
T - 接口类型clazz - 服务接口public static <T> ServiceLoader<T> load(Class<T> clazz, ClassLoader loader)
T - 接口类型clazz - 服务接口loader - ClassLoaderpublic static <T> List<T> loadList(Class<T> clazz)
T - 接口类型clazz - 服务接口public static <T> List<T> loadList(Class<T> clazz, ClassLoader loader)
T - 接口类型clazz - 服务接口loader - ClassLoaderCopyright © 2025. All rights reserved.