SPI机制到底是什么?中间件又是如何使用的?

Posted 码农补给点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SPI机制到底是什么?中间件又是如何使用的?相关的知识,希望对你有一定的参考价值。

1介绍

SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services/接口全限定名,自动加载文件里所定义的类。这种机制便于扩展,例如Springboot,Dubbo,mysql中都用到了

1.1源码中的例子

如mysql的驱动包就是使用了Java原生SPI机制,JDBC定义了连接数据库的规范,mysql根据规范提供自己的驱动包mysql-connector-java.jar去获取连接,在DriverManager中会通过SPI加载不同数据库厂商提供的实现。

1.2图示

2java-spi

2.1使用

Java的SPI如何使用呢?在ClassPath路径下的META-INF/services文件夹下定义一个文件,文件名同接口名,内容则是接口的实现。直接上代码。

 
   
   
 


以上是关于SPI机制到底是什么?中间件又是如何使用的?的主要内容,如果未能解决你的问题,请参考以下文章

平安保险基于 SPI 机制的 RocketMQ 定制化应用

从Dubbo内核聊聊双亲委派机制

来撸一撸Dubbo之SPI机制源码,SPI到底解决了什么问题?

java 的SPI机制

SPI机制在ShardingSphere中的应用

不懂Java SPI机制,怎么进大厂