Package org.miaixz.bus.core.lang.loader.spi
package org.miaixz.bus.core.lang.loader.spi
服务提供接口SPI(Service Provider interface)机制相关封装,包括:
ListServiceLoader,提供列表形式的服务定义MapServiceLoader,提供键值对形式的服务定义
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescription抽象服务加载器,提供包括路径前缀、服务类、类加载器、编码、安全相关持有列表类型的服务加载器,用于替换JDK提供的
ServiceLoader相比JDK,增加了: 可选服务存储位置(默认位于META-INF/services/)。 可自定义编码。 可自定义加载指定的服务实例。 可自定义加载指定的服务类,由用户决定如何实例化(如传入自定义构造参数等)。 提供更加灵活的服务加载机制,当选择加载指定服务时,其它服务无需加载。键值对服务加载器,使用Properties加载并存储服务 服务文件默认位于"META-INF/bus/"下,文件名为服务接口类全名。 内容类似于:SPI服务加载接口 用户实现此接口用于制定不同的服务加载方式