SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。
应用:比如JDBC
mysql-connector-java-5.1.35.jar!\META-INF\services\java.sql.Driver
的文件内容
com.mysql.jdbc.Driver
com.mysql.fabric.jdbc.FabricMySQLDriver
使用com.mysql.jdbc.Driver
实例一个java.sql.Driver
的实例。
Spring的SPI – spring.factories