"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
  • Java

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

    2168 引用 • 7424 回帖 • 1019 关注
  • SPI

    Service Provider Interface

    7 引用
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...