JAVA SPI 機制簡介

SPI簡介

        SPI 全稱爲 (Service Provider Interface) ,是JDK內置的一種服務提供發現機制。 目前有很多框架用它來作服務的擴展發現, 簡單來講,它就是一種動態替換髮現的機制, 舉個例子來講, 有個接口,想運行時動態的給它添加實現,你只須要添加一個實現,然後,把新加的實現,描述給JDK知道就行啦(經過改一個文本文件便可) 公司內部,目前Dubbo框架就基於SPI機制提供擴展功能。java

SPI遵循的標準

""

代碼目錄結構:git

如何使用SPI

class SPIMain {
    public static void main(String[] args) {

        ServiceLoader<HelloInterface> loaders = ServiceLoader.load(HelloInterface.class);

        for (HelloInterface in : loaders) {
            in.sayHello();
        }
    }
}

參考

http://ivanzhangwb.github.io/blog/2012/06/01/java-spi/github

http://www.jianshu.com/p/46aa69643c97框架

http://my.oschina.net/pingpangkuangmo/blog/508963ide

相關文章
相關標籤/搜索