目录
什么是SPI机制
SPI 是 Service Provider Interface 的缩写,直译过来就是服务提供者接口。
目的是为了在系统里多个服务提供者模块可以提供一个服务的实现, 系统让客户端可以使用这些实现, 从而实现解耦。
其实简单的来说就是
JAVA-SPI使用规范
- 定义服务的通用接口,针对通用的服务接口,提供具体的实现类。
- 在jar包的META-INF/services/目录中,新建一个文件,文件名为 接口的"全限定名"。 文件内容为该接口的具体实现类的"全限定名"。
- 将spi所在jar放在主程序的classpath中
- 服务调用方用java.util.ServiceLoader,用服务接口为参数,去动态加载具体的实现类到JVM中。
DEMO
1. 新建一个项目,定义好接口
package com.xx;
public interface Car {
void driver();
}
2. 实现这个接口
package com.xx;
/**
* @program: spi
* @description:
* @author: Pontus
* @create: 2021-04-16 14:30
**/
public class BenzCar i