SPI(Service Provider Interface)给一个接口在运行时,动态添加实现类。 在 src/META-INF/services/ 里建立一个文件,文件名是接口的完整名称,文件内容可有多行,每行都是该接口的对应的具体实现类的全限定名, 这个功能可以用来扩展框架 关键代码 ServiceLoder< ..

java 的 SPI

SPI(Service Provider Interface)给一个接口在运行时,动态添加实现类。
在 src/META-INF/services/ 里建立一个文件,文件名是接口的完整名称,文件内容可有多行,每行都是该接口的对应的具体实现类的全限定名,
这个功能可以用来扩展框架

关键代码

ServiceLoder<...> loaders = ServiceLoader.load(...class);
for (.. d: loaders) {
 d.xxx();
}

xxx 接口的全部路径的文件名的文件,内容是实现类的全路径,一行一个类名

com.XXX.XXX
com.XXX.XXX

springboot 的 SPI 实现
https://blog.csdn.net/liuyueyi25/article/details/83348026

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2273 引用 • 7713 回帖 • 920 关注
  • SPI

    Service Provider Interface

    7 引用
回帖   
请输入回帖内容...