LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 196|回复: 0

SPI机制深入理解

[复制链接]
发表于 2023-12-18 16:52:57 | 显示全部楼层 |阅读模式

SPI机制深入理解
提示
接下来,我们深入理解下SPI相关内容

# SPI机制通常怎么使用

看完前面的几个例子解析,应该都能知道大概的流程了:

有关组织或者公司定义标准。
具体厂商或者框架开发者实现。
程序猿使用。

# 定义标准

定义标准,就是定义接口。比如接口java.sql.Driver

# 具体厂商或者框架开发者实现

厂商或者框架开发者开发具体的实现:

在META-INF/services目录下定义一个名字为接口全限定名的文件,比如java.sql.Driver文件,文件内容是具体的实现名字,比如me.cxis.sql.MyDriver。

写具体的实现me.cxis.sql.MyDriver,都是对接口Driver的实现。

# 程序猿使用

我们会引用具体厂商的jar包来实现我们的功能:

ServiceLoader<Driver> loadedDrivers = ServiceLoader.load(Driver.class);
//获取迭代器
Iterator<Driver> driversIterator = loadedDrivers.iterator();
//遍历
while(driversIterator.hasNext()) {
    driversIterator.next();
    //可以做具体的业务逻辑
}
# 使用规范
最后总结一下jdk spi需要遵循的规范

------

原文链接:https://pdai.tech/md/java/advanced/java-advanced-spi.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表