public class ServiceLoaderUtil extends Object
1、创建接口,并创建实现类 2、ClassPath/META-INF/services下创建与接口全限定类名相同的文件 3、文件内容填写实现类的全限定类名相关介绍见:https://www.jianshu.com/p/3a3edbcd8f24
Constructor and Description |
---|
ServiceLoaderUtil() |
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
- 服务接口null
public static <T> T loadFirst(Class<T> clazz)
T
- 接口类型clazz
- 服务接口null
public static <T> ServiceLoader<T> load(Class<T> clazz)
T
- 接口类型clazz
- 服务接口public static <T> ServiceLoader<T> load(Class<T> clazz, ClassLoader loader)
T
- 接口类型clazz
- 服务接口loader
- ClassLoader
public static <T> List<T> loadList(Class<T> clazz)
T
- 接口类型clazz
- 服务接口public static <T> List<T> loadList(Class<T> clazz, ClassLoader loader)
T
- 接口类型clazz
- 服务接口loader
- ClassLoader
Copyright © 2024. All rights reserved.