Java SPI的概念和术语
- SPI:全称是Service Provider Interface
- 它是从Java 6开始引入的,是一种基于ClassLoader来发现并加载服务的机制。
- 一个标准的SPI,由3个组件构成,分别是:
- Service - 服务接口:是一个公开的接口或抽象类,定义了一个抽象的功能模块。
- Service Provider - 服务实现:是Service接口的一个实现类。
- ServiceLoader - 服务发现&加载:是SPI机制中的核心组件,对应的是JDK中的ServiceLoader类,调用它的load()方法,我们就可以在运行时发现和加载ServiceProvider,负责在运行时发现并加载Service Provider。
Java SPI在JDBC中的应用
JDBC,全称是Java DataBase Connectivity
- 简单来说JDBC就是使用Java语言来访问数据库的一套API
- 每个数据库厂商会提供各自的JDBC实现,这些实现就是我们通常说的"数据库驱动Driver"