SPI扩展机制概述

SPI 概述

  • SPI 全称为 Service Provider Interface,是一种服务发现机制
  • 用来给第三方实现或扩展的 API,它可以用于实现框架扩展或组件替换
  • SPI 机制本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载文件中的实现类,这样运行时可以动态的为接口替换实现类

使用要求

  • META-INF/services 下面定义个文件,然后通过一个特殊的类加载器,启动的时候加载你定义文件中的类

image-20211213165936684

为什么要有 SPI

  • 引入了 SPI 机制后,服务接口与服务实现就会达成分离的状态,可以实现解耦以及程序可扩展机制
  • 服务提供者(比如 springboot starter)提供出 SPI 接口后,(shardingspere)
  • 客户端(平常的 springboot 项目)就可以通过本地注册的形式,将实现类注册到服务端,轻松实现可插拔
posted @ 2021-12-14 11:41  BNTang  阅读(581)  评论(0编辑  收藏  举报