spi,就是service provider interface。有个接口,有多个实现类,那么在系统运行时对这个接口到底选择哪个实现类呢?spi会根据指定或默认的配置,去找到对应的实现类加载进来。
1)SPI机制,一般用于插件扩展的场景,比如说你开发的是一个给别人使用的开源框架,如果你想让别人自己写个插件,插到你的开源框架里面来,扩展某个功能。 2)dubbo也用了spi思想,不过没有用jdk的spi机制,是自己实现的一套spi机制。