跳转至

java SPI

时间:2018/9/14 14:21:05

参考:

  1. Java中SPI机制深入及源码解析
  2. Java Service Provider Interface

Java SPI#

简介#

Java SPI (Service Provider Interface) 是 jdk1.6 增加的用于发现和加载接口或抽象类的实现类的机制。核心类 ServiceLoader 用于根据指定接口或抽象类结合 META-INF/services/ 里的配置文件加载具体实现。

怎么使用#

JAVA SQL 框架#

  1. jdk 使用 java.sql.Driver 定义数据库驱动类。

  2. MySQL数据库连接器 mysql-connector-java.jar 实现驱动接口,创建 META-INF/services/java.sql.Driver 文件,文件的内容如下:

    1
    com.mysql.jdbc.Driver
    
  3. 使用 ServiceLoader 加载接口的实现类。

    1
    ServiceLoader<Driver> drivers = ServiceLoader.load(Driver.class);