SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制.本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类.这样可以在运行时,动态为接口替换实现类. 在Java中SPI是被用来设计给服务提供商做插件使用的.基于策略模式来实现动态加载的机制.我们在程序只定义一个接口,具体的实现交个不同的服务提供者:在程序启动的时候,读取配置文件,由配置确定要调用哪一个实现.有很多组件的实现,如日志.数据库访问等都是采用这样的方式,最常用的就是…