Java的SPI机制示例代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的SPI机制示例代码相关的知识,希望对你有一定的参考价值。

定义接口

package com.hiwzc.myspi;

public interface Demo {
    void dosomething();
}


提供两种模拟实现

package com.hiwzc.myspi.impl;

import com.hiwzc.myspi.Demo;

public class DemoAImpl implements Demo{

    @Override
    public void dosomething() {
        System.out.println("A");
    }

}
package com.hiwzc.myspi.impl;

import com.hiwzc.myspi.Demo;

public class DemoBImpl implements Demo {

    @Override
    public void dosomething() {
        System.out.println("B");
    }

}


META-INF/services/com.hiwzc.myspi.Demo文件,提供一种实现:

com.hiwzc.myspi.impl.DemoAImpl



代码调用

package com.hiwzc.myspi;

import java.util.ServiceLoader;

public class Main {

    public static void main(String[] args) {
        ServiceLoader<Demo> loader = ServiceLoader.load(Demo.class);
        for (Demo demo : loader) {
            demo.dosomething();
        }
    }
}



本文出自 “自强不息,厚德载物” 博客,请务必保留此出处http://wangzhichao.blog.51cto.com/2643325/1851587

以上是关于Java的SPI机制示例代码的主要内容,如果未能解决你的问题,请参考以下文章

Java SPI机制和使用示例

Java的SPI机制与简单的示例

Java SPI 机制在 Flink 中的应用(源码分析)

Java SPI机制简介

Java SPI机制简述

Java SPI机制简述