zoukankan      html  css  js  c++  java
  • 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 {}
  • 相关阅读:
    vue axios创建实例
    vue axios全局配置
    vue axios并发请求
    vue axios HTTP 库
    vuex actions异步操作
    vuex getters
    Go并发控制--Channel篇
    UVA10228 A Star not a Tree?
    P1395 会议
    P1337 [JSOI2004]平衡点 / 吊打XXX
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/13048848.html
Copyright © 2011-2022 走看看