public class ServiceLoaderUtil extends Object
1、创建接口,并创建实现类
2、ClassPath/META-INF/services下创建与接口全限定类名相同的文件
3、文件内容填写实现类的全限定类名
相关介绍见:https://www.jianshu.com/p/3a3edbcd8f24| 构造器和说明 |
|---|
ServiceLoaderUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
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 © 2022. All rights reserved.