zoukankan      html  css  js  c++  java
  • java spi

    SPI全称为Service Provider Interface. 是JDK内置的一种服务提供发现功能,一种动态替换发现的机制。

    项目例子

    • 接口类是HelloInterface ,有两个实现类,分别是是FooHello和BarHello.
    • 在META-INF目录下建立扩展文件,已接口HelloInterface全路径命名
    public interface HelloInterface {
    
        void sayHello();
    
    }
    
    public class BarHello implements HelloInterface {
    
        @Override
        public void sayHello() {
            System.out.println("bar");
        }
    }
    
    public class FooHello implements HelloInterface {
    
        @Override
        public void sayHello() {
            System.out.println("foo");
        }
    }
    
    public class SPIMain {
    
    
        public static void main(String[] args) {
            ServiceLoader<HelloInterface> loaders = ServiceLoader.load(HelloInterface.class);
            if (loaders != null) {
                loaders.forEach(it -> {
                    it.sayHello();
                });
            }
        }
    }
    
    

    META-INF.services/me.warriorg.spi.HelloInterface

    me.warriorg.spi.impl.BarHello
    me.warriorg.spi.impl.FooHello
    
  • 相关阅读:
    招标问什么
    其他房产
    长沙
    flume kafka
    http://www.zhihu.com/question/24301047
    38.NOW() 函数
    35.MID() 函数
    36.LEN() 函数
    34.UCASE() LCASE() 函数
    33.HAVING 子句
  • 原文地址:https://www.cnblogs.com/warrior/p/12210397.html
Copyright © 2011-2022 走看看