我是靠谱客的博主 壮观乌冬面,最近开发中收集的这篇文章主要介绍spi简单实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、定义一个接口

package com.hema.cloudification.suandok.application.gate.exchange.http.spi;

public interface Person {
    void say();
}

2、定义两个实现类

package com.hema.cloudification.suandok.application.gate.exchange.http.spi;

public class Student implements Person{
    @Override
    public void say() {
        System.out.println("我是一名学生");
    }
}


-----------------------------------------------------------------------


package com.hema.cloudification.suandok.application.gate.exchange.http.spi;

public class Teacher implements Person{
    @Override
    public void say() {
        System.out.println("我是一名老师");
    }
}

3、然后需要在resources目录下新建META-INF/services目录,并且在这个目录下新建一个与上述接口的全限定名一致的文件,在这个文件中写入接口的实现类的全限定名

com.hema.cloudification.suandok.application.gate.exchange.http.spi.Student
com.hema.cloudification.suandok.application.gate.exchange.http.spi.Teacher

4、创建一个测试入口

package com.hema.cloudification.suandok.application.gate.exchange.http.spi;

import java.util.Iterator;
import java.util.ServiceLoader;

public class TestSpi {
    public static void main(String[] args) {
        ServiceLoader<Person> people = ServiceLoader.load(Person.class);
        Iterator<Person> iterator = people.iterator();
        while (iterator.hasNext()){
            iterator.next().say();
        }

    }
}

5、小功告成

 

最后

以上就是壮观乌冬面为你收集整理的spi简单实现的全部内容,希望文章能够帮你解决spi简单实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部