SPI
SPI
SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。
应用
jdbc、springboot、dubbo、org.springframework:spring-web:xxx jar包下有METE-INF/Services/javax.servlet.ServletContainerInitializer文件
Dobbo SPI
Dubbo 并未使用 Java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足需求。在 Dubbo 中,SPI 是一个非常重要的模块。基于 SPI,我们可以很容易的对 Dubbo 进行拓展。
com.alibaba:dubbo:xxx/META-INF/dubbo.internal目录 com.alibaba.dubbo.common.extension.ExtensionLoader扩展类加载器 RoundRobinLoadBalance extends AbstractLoadBalance,AbstractLoadBalance implements LoadBalance @SPI("random") public interface LoadBalance {}
相关推荐
doctorvian 2020-06-16
aNian 2020-02-09
dxyadc 2019-12-29
shipinsky 2011-03-07
shimly00 2017-01-06
gaoyongstone 2019-06-26
爱车的诺诺 2018-03-06
ScalersTalk成长会 2018-02-25
少年阿涛 2020-03-05
dannistang 2011-04-08
康 2018-05-07
XuNeely 2019-06-30
Fightingxr 2019-06-30
小桥流水XY 2019-06-28
santapasserby 2019-06-27
sxyizhiren 2019-05-16
wcf00 2019-03-05
Attend 2017-02-19