【深入理解Java原理】JAVA SPI 是怎么实现的?

JAVA SPI 是怎么实现的?

SPI 是什么?

SPI(Service Provider Interface) ,是 JDK 内置的一种提供发现机制。SPI 是一种动态替换发现的机制。

【深入理解Java原理】JAVA SPI 是怎么实现的?_第1张图片

JAVA SPI 实现

  1. 定义一组接口,接口有多种实现
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");
    }
}
  1. 在 src/main/resources/ 下建立 /META-INF/services 目录, 新增一个以接口命名的文件 (org.foo.demo.IShout文件),内容是要应用的实现类(这里是org.foo.demo.animal.Dog和org.foo.demo.animal.Cat,每行一个类)。

文件位置

- src
    -main
        -resources

你可能感兴趣的:(Java,源码解读)