首页 > 文章列表 > 怎么使用java的SPI定义接口

怎么使用java的SPI定义接口

java SPI
205 2023-05-03

使用说明

服务提供者提供接口的具体实现后,在jar包的META-INF/services目录中制作以接口全限定名命名的文件,内容是实现类的全限定名

1、接口实现类的jar包放在主程序的classpath中,主程序通过java.util.ServiceLoder动态装载实现模块,通过扫描META-INF/services目录下的配置文件找到实现类的全限定名,将类加载到JVM

2、SPI的实现类必须携带无参数的结构方法

实例

public interface IShout {
    void shout();
}
public class Cat implements IShout {
    @Override
    public void shout() {
        System.out.println("miao miao");
    }
}
public class Dog implements IShout {
    @Override
    public void shout() {
        System.out.println("wang wang");
    }
}