美文网首页
Java SPI 思想

Java SPI 思想

作者: 黑曼巴yk | 来源:发表于2020-10-26 14:21 被阅读0次

简介

java SPI 需要遵循的约定如下:

  1. 当服务者提供某个接口的实现后,在jar包中的META-INF/ervices目录下创建一个以接口全限定为命名的文件。内容为实现类的全限定名
  2. 接口实现类所在的jar包放在主程序的classpath中
  3. java.util.ServiceLoder动态装载实现模块,它通过扫描META-INF/services目录下的配置文件找到实现类的全限定名,把类加载到JVM

实现

定义接口

import java.util.List;

public interface Search {
    List<String> searchDoc(String keyword);
}

接口的某个实现类

import java.util.List;

public class FileSearch implements Search{
    @Override
    public List<String> searchDoc(String keyword) {
        System.out.println("文件搜索 "+keyword);
        return null;
    }
}

某个实现类生效

resources下新建META-INF/services/目录。新建一个文件名为接口全类名 com.dankun.ldemo.spi.Search内容是具体的实现类的全限定名称com.dankun.ldemo.spi.FileSearch

refer

https://zhuanlan.zhihu.com/p/28909673
https://developer.aliyun.com/article/640161

相关文章

  • Dubbo SPI的认识

    Dubbo是基于Java原生SPI机制思想的一个改进. 关于JAVA 的SPI机制 SPI全称(service p...

  • Java SPI 思想

    简介 java SPI 需要遵循的约定如下: 当服务者提供某个接口的实现后,在jar包中的META-INF/erv...

  • Java - SPI机制

    Java - SPI机制 SPI是什么 SPI全称Service Provider Interface,是Java...

  • dubbo 源码分析 -SPI

    dubbo 中大量使用SPI,在看源码之前必须先了解dubbo的SPI 1、Java原生spi java原生spi...

  • spi

    java中有一些包结尾为spi,如java.nio.channels.spi spi - service prov...

  • 4.Dubbo的SPI扩展点加载机制

    4.1 加载机制概述 4.1.1 Java SPI 在讲Dubbo SPI之前,先来了解一下Java SPI,SP...

  • Dubbo SPI 的使用方法(一)- 扩展点自动包装

    开篇 前面有说到 Java SPI 的介绍与使用方法, 而本篇要说的 Dubbo SPI 是基于 Java SPI...

  • dubbo spi机制源码阅读

    dubbo的扩展能力很强大。他是通过扩展Java的spi机制得到的。 Java Spi机制介绍 SPI是Servi...

  • dubbo的spi机制

    dubbo的spi机制 dubbo的扩展点加载机制源自于java的spi扩展机制。那么,何为java的spi扩展机...

  • dubbo的内核剖析

    SPI机制 Java SPI SPI(service provider interface),在运行时,动态加载接...

网友评论

      本文标题:Java SPI 思想

      本文链接:https://www.haomeiwen.com/subject/rmmomktx.html