-
Java SPI实现
-
示例说明
-
创建动态接口
-
实现类1
-
-
实现类2
-
相关测试
-
运行结果:
-
源码分析
-
Spring SPI
-
Spring 示例
-
定义接口
-
相关实现
-
相关测试类
-
输出结果
-
-
源码分析
SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要用于框架中开发,例如Dubbo、Spring、Common-Logging,JDBC等采用采用SPI机制,针对同一接口采用不同的实现提供给不同的用户,从而提高了框架的扩展性。
Java SPI实现
Java内置的SPI通过java.util.ServiceLoader类解析classPath和jar包的META-INF/services/目录 下的以接口全限定名命名的文件,并加载该文件中指定的接口实现类,以此完成调用。
示例说明
创建动态接口
public interface VedioSPI
{
void call();
}
实现类1
public class Mp3Vedio implements VedioSPI
{
@Override
public void call()
{
System.out.println("this is mp3 call");
}
}
实现类2
public class Mp4Vedio implements VedioSPI
{
&n


2715

被折叠的 条评论
为什么被折叠?



