Dubbo的SPI中的指定名称的类加载getExtension

在这里插入图片描述
getExtension:指定名称的扩展点
getAdaptiveExtension:自定义扩展点
getActivateExtension:激活扩展点
一,JDK的SPI
SPI全称是Service provider Interface ,原本是JDK提供的一种发现机制,主要用来做服务的扩展实现。比如JDK提供的java.sql.Driver接口,具体的实现是由数据库的各大厂商实现的。MYSQL,ORACLE都对Driver有具体的实现。JDK通过SPI从classpath下面找到相对的的驱动连接数据库,JDK通过扫面resource/META-INF/services下面的扩展点来完成文件的加载。
1、创建Maven工程Driver定义一个接口

在这里插入图片描述
2、创建maven工程mysql-driver模块,引入Dirver模块,实现Driver接口
在这里插入图片描述
在这里插入图片描述
3、在resource/META-INF/service下面创建一个路径名称是com…xxx…Driver的文件,文件中添加实现类的全限定类名,通过ServiceLoader.load加载Driver
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二、dubbo的SPI
dubbo的SPI也是采用了jdkSPI的思想,首先在META-INFO下面添加dubbo目录,目录下添加文件名是com.xx.Driver的文件。然后文件中需要key和value的方式,在通过dubbo提供的getExtension:指定名称的扩展点完成对类的加载。
注意:需要在Driver接口上加上@SPI注解
在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/80b1f13451074bc9a00015d0a7f55932.png)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值